<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.5"/>
<title>xilsecure: XilSecure KAT Server APIs</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="HTML_custom.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="xlogo_bg.png"/></td>
  <td style="padding-left: 0.5em;">
   <div id="projectname">xilsecure
   </div>
   <div id="projectbrief">Vitis Drivers API Documentation</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.5 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Overview</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="globals.html"><span>APIs</span></a></li>
      <li><a href="files.html"><span>File&#160;List</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;"
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('group__xsecure__kat__server__apis.html','');});
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#define-members">Macros</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">XilSecure KAT Server APIs</div>  </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:ga62a7fc37111b22311ea7d993de67c059"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xsecure__kat__server__apis.html#ga62a7fc37111b22311ea7d993de67c059">XSECURE_KAT_MSG_LEN_IN_BYTES</a>&#160;&#160;&#160;(32U)</td></tr>
<tr class="memdesc:ga62a7fc37111b22311ea7d993de67c059"><td class="mdescLeft">&#160;</td><td class="mdescRight">Message length of known answer test in bytes.  <a href="#ga62a7fc37111b22311ea7d993de67c059">More...</a><br/></td></tr>
<tr class="separator:ga62a7fc37111b22311ea7d993de67c059"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga15819c80fc33c83f862185f5990b46d8"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xsecure__kat__server__apis.html#ga15819c80fc33c83f862185f5990b46d8">XSECURE_KAT_AAD_SIZE_IN_BYTES</a>&#160;&#160;&#160;(16U)</td></tr>
<tr class="memdesc:ga15819c80fc33c83f862185f5990b46d8"><td class="mdescLeft">&#160;</td><td class="mdescRight">AAD size of known answer test in bytes.  <a href="#ga15819c80fc33c83f862185f5990b46d8">More...</a><br/></td></tr>
<tr class="separator:ga15819c80fc33c83f862185f5990b46d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga79e887ac0eaae097fa9d70181de6815e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xsecure__kat__server__apis.html#ga79e887ac0eaae097fa9d70181de6815e">XSECURE_KAT_IV_SIZE_IN_BYTES</a>&#160;&#160;&#160;(16U)</td></tr>
<tr class="memdesc:ga79e887ac0eaae097fa9d70181de6815e"><td class="mdescLeft">&#160;</td><td class="mdescRight">IV size of known answer test in bytes.  <a href="#ga79e887ac0eaae097fa9d70181de6815e">More...</a><br/></td></tr>
<tr class="separator:ga79e887ac0eaae097fa9d70181de6815e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8e5924ae95e0c0dc230150bd6a07d688"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xsecure__kat__server__apis.html#ga8e5924ae95e0c0dc230150bd6a07d688">XSECURE_KAT_KEY_SIZE_IN_BYTES</a>&#160;&#160;&#160;(32U)</td></tr>
<tr class="memdesc:ga8e5924ae95e0c0dc230150bd6a07d688"><td class="mdescLeft">&#160;</td><td class="mdescRight">Key size of known answer test in bytes.  <a href="#ga8e5924ae95e0c0dc230150bd6a07d688">More...</a><br/></td></tr>
<tr class="separator:ga8e5924ae95e0c0dc230150bd6a07d688"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9c5df1df89f4e95f8e8abf828ef93dad"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xsecure__kat__server__apis.html#ga9c5df1df89f4e95f8e8abf828ef93dad">XSECURE_KAT_MSG_LEN_IN_WORDS</a>&#160;&#160;&#160;(8U)</td></tr>
<tr class="memdesc:ga9c5df1df89f4e95f8e8abf828ef93dad"><td class="mdescLeft">&#160;</td><td class="mdescRight">Message length of known answer test in words.  <a href="#ga9c5df1df89f4e95f8e8abf828ef93dad">More...</a><br/></td></tr>
<tr class="separator:ga9c5df1df89f4e95f8e8abf828ef93dad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga39a9083040eed4679786b8dc1646b973"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xsecure__kat__server__apis.html#ga39a9083040eed4679786b8dc1646b973">XSECURE_KAT_RSA_PUB_EXP</a>&#160;&#160;&#160;(0x1000100U)</td></tr>
<tr class="memdesc:ga39a9083040eed4679786b8dc1646b973"><td class="mdescLeft">&#160;</td><td class="mdescRight">RSA public exponent of known answer test.  <a href="#ga39a9083040eed4679786b8dc1646b973">More...</a><br/></td></tr>
<tr class="separator:ga39a9083040eed4679786b8dc1646b973"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4c9a5ee5ed7fdcbc0a321c211ee6634d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xsecure__kat__server__apis.html#ga4c9a5ee5ed7fdcbc0a321c211ee6634d">XSECURE_KAT_ECC_P521_SHA3_HASH_SIZE_IN_BYTES</a>&#160;&#160;&#160;(66U)</td></tr>
<tr class="memdesc:ga4c9a5ee5ed7fdcbc0a321c211ee6634d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Hash size of ECC P521 and SHA3 in bytes.  <a href="#ga4c9a5ee5ed7fdcbc0a321c211ee6634d">More...</a><br/></td></tr>
<tr class="separator:ga4c9a5ee5ed7fdcbc0a321c211ee6634d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga80e9681c00670510197c2079b9790de1"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xsecure__kat__server__apis.html#ga80e9681c00670510197c2079b9790de1">XSECURE_KAT_MAX_CMD_LEN</a>&#160;&#160;&#160;(4U)</td></tr>
<tr class="memdesc:ga80e9681c00670510197c2079b9790de1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Maximum command length.  <a href="#ga80e9681c00670510197c2079b9790de1">More...</a><br/></td></tr>
<tr class="separator:ga80e9681c00670510197c2079b9790de1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga34597748760ae137fa56fae50de54489"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xsecure__kat__server__apis.html#ga34597748760ae137fa56fae50de54489">XSECURE_DDR_KAT_MASK_MUL</a>&#160;&#160;&#160;(4U)</td></tr>
<tr class="memdesc:ga34597748760ae137fa56fae50de54489"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiplier to get DDR KAT mask.  <a href="#ga34597748760ae137fa56fae50de54489">More...</a><br/></td></tr>
<tr class="separator:ga34597748760ae137fa56fae50de54489"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaca9dc1d0d77149e934d36dc1369c02a1"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xsecure__kat__server__apis.html#gaca9dc1d0d77149e934d36dc1369c02a1">XSECURE_DDR_MAX_SUPPORT</a>&#160;&#160;&#160;(7U)</td></tr>
<tr class="memdesc:gaca9dc1d0d77149e934d36dc1369c02a1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Maximum supported DDR.  <a href="#gaca9dc1d0d77149e934d36dc1369c02a1">More...</a><br/></td></tr>
<tr class="separator:gaca9dc1d0d77149e934d36dc1369c02a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga18b6ea3b42f6a4f57a38f05638bbc341"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xsecure__kat__server__apis.html#ga18b6ea3b42f6a4f57a38f05638bbc341">XSECURE_DEF_KAT_MASK</a>&#160;&#160;&#160;(0xFFFFFFFFU)</td></tr>
<tr class="memdesc:ga18b6ea3b42f6a4f57a38f05638bbc341"><td class="mdescLeft">&#160;</td><td class="mdescRight">KAT mask.  <a href="#ga18b6ea3b42f6a4f57a38f05638bbc341">More...</a><br/></td></tr>
<tr class="separator:ga18b6ea3b42f6a4f57a38f05638bbc341"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga8df0f1f6e52ec26041e750769de1130c"><td class="memItemLeft" align="right" valign="top">u8 *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xsecure__kat__server__apis.html#ga8df0f1f6e52ec26041e750769de1130c">XSecure_GetKatMessage</a> (void)</td></tr>
<tr class="memdesc:ga8df0f1f6e52ec26041e750769de1130c"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function returns message to perform KAT.  <a href="#ga8df0f1f6e52ec26041e750769de1130c">More...</a><br/></td></tr>
<tr class="separator:ga8df0f1f6e52ec26041e750769de1130c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9395421a23db181d3caf2e97b3719488"><td class="memItemLeft" align="right" valign="top">u8 *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xsecure__kat__server__apis.html#ga9395421a23db181d3caf2e97b3719488">XSecure_GetKatAesKey</a> (void)</td></tr>
<tr class="memdesc:ga9395421a23db181d3caf2e97b3719488"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function returns AES key for KAT.  <a href="#ga9395421a23db181d3caf2e97b3719488">More...</a><br/></td></tr>
<tr class="separator:ga9395421a23db181d3caf2e97b3719488"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad9280d66ddaba2c7c18fadf7ae7e7855"><td class="memItemLeft" align="right" valign="top">u8 *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xsecure__kat__server__apis.html#gad9280d66ddaba2c7c18fadf7ae7e7855">XSecure_GetKatSha3ExpHash</a> (void)</td></tr>
<tr class="memdesc:gad9280d66ddaba2c7c18fadf7ae7e7855"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function returns expected SHA3 hash for KAT.  <a href="#gad9280d66ddaba2c7c18fadf7ae7e7855">More...</a><br/></td></tr>
<tr class="separator:gad9280d66ddaba2c7c18fadf7ae7e7855"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaad1c6cd684bcf2c3dc968a1faf83ae9a"><td class="memItemLeft" align="right" valign="top">u32 *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xsecure__kat__server__apis.html#gaad1c6cd684bcf2c3dc968a1faf83ae9a">XSecure_GetKatRsaModulus</a> (void)</td></tr>
<tr class="memdesc:gaad1c6cd684bcf2c3dc968a1faf83ae9a"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function returns modulus for RSA KAT.  <a href="#gaad1c6cd684bcf2c3dc968a1faf83ae9a">More...</a><br/></td></tr>
<tr class="separator:gaad1c6cd684bcf2c3dc968a1faf83ae9a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf2687288c96705bea3af82209403ad60"><td class="memItemLeft" align="right" valign="top">u32 *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xsecure__kat__server__apis.html#gaf2687288c96705bea3af82209403ad60">XSecure_GetKatRsaModExt</a> (void)</td></tr>
<tr class="memdesc:gaf2687288c96705bea3af82209403ad60"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function returns public pre-calculated exponential (R^2 Mod N) value for RSA KAT.  <a href="#gaf2687288c96705bea3af82209403ad60">More...</a><br/></td></tr>
<tr class="separator:gaf2687288c96705bea3af82209403ad60"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaaa0efb9c372ffa755b176a70542185b7"><td class="memItemLeft" align="right" valign="top">u32 *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xsecure__kat__server__apis.html#gaaa0efb9c372ffa755b176a70542185b7">XSecure_GetKatRsaData</a> (void)</td></tr>
<tr class="memdesc:gaaa0efb9c372ffa755b176a70542185b7"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function returns data for RSA KAT.  <a href="#gaaa0efb9c372ffa755b176a70542185b7">More...</a><br/></td></tr>
<tr class="separator:gaaa0efb9c372ffa755b176a70542185b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafd22599a22bb980e1a40ce887009f4ae"><td class="memItemLeft" align="right" valign="top">u32 *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xsecure__kat__server__apis.html#gafd22599a22bb980e1a40ce887009f4ae">XSecure_GetKatRsaCtData</a> (void)</td></tr>
<tr class="memdesc:gafd22599a22bb980e1a40ce887009f4ae"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function returns cipher text data for RSA KAT.  <a href="#gafd22599a22bb980e1a40ce887009f4ae">More...</a><br/></td></tr>
<tr class="separator:gafd22599a22bb980e1a40ce887009f4ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacd534322345d34248772d23a4ab90c7f"><td class="memItemLeft" align="right" valign="top">u32 *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xsecure__kat__server__apis.html#gacd534322345d34248772d23a4ab90c7f">XSecure_GetKatRsaPrivateExp</a> (void)</td></tr>
<tr class="memdesc:gacd534322345d34248772d23a4ab90c7f"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function returns private exponent for RSA KAT.  <a href="#gacd534322345d34248772d23a4ab90c7f">More...</a><br/></td></tr>
<tr class="separator:gacd534322345d34248772d23a4ab90c7f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa3ec8efc0badbd66518768e16b2dcc81"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_x_secure___elliptic_key.html">XSecure_EllipticKey</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xsecure__kat__server__apis.html#gaa3ec8efc0badbd66518768e16b2dcc81">XSecure_GetKatEccPublicKey</a> (<a class="el" href="group__xsecure__common__apis.html#gaec6e0642a5377d68c66bc54fb39ad161">XSecure_EllipticCrvClass</a> CrvClass)</td></tr>
<tr class="memdesc:gaa3ec8efc0badbd66518768e16b2dcc81"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function returns ECC public key to perform KAT.  <a href="#gaa3ec8efc0badbd66518768e16b2dcc81">More...</a><br/></td></tr>
<tr class="separator:gaa3ec8efc0badbd66518768e16b2dcc81"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga769778c653dd202471b5eec4249b1f25"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_x_secure___elliptic_sign.html">XSecure_EllipticSign</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xsecure__kat__server__apis.html#ga769778c653dd202471b5eec4249b1f25">XSecure_GetKatEccExpSign</a> (<a class="el" href="group__xsecure__common__apis.html#gaec6e0642a5377d68c66bc54fb39ad161">XSecure_EllipticCrvClass</a> CrvClass)</td></tr>
<tr class="memdesc:ga769778c653dd202471b5eec4249b1f25"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function returns ECC expected signature to perform KAT.  <a href="#ga769778c653dd202471b5eec4249b1f25">More...</a><br/></td></tr>
<tr class="separator:ga769778c653dd202471b5eec4249b1f25"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae13868848d86bd438b31458a8b3aaad8"><td class="memItemLeft" align="right" valign="top">u8 *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xsecure__kat__server__apis.html#gae13868848d86bd438b31458a8b3aaad8">XSecure_GetKatEccPrivateKey</a> (<a class="el" href="group__xsecure__common__apis.html#gaec6e0642a5377d68c66bc54fb39ad161">XSecure_EllipticCrvClass</a> CrvClass)</td></tr>
<tr class="memdesc:gae13868848d86bd438b31458a8b3aaad8"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function returns ECC private key to perform KAT.  <a href="#gae13868848d86bd438b31458a8b3aaad8">More...</a><br/></td></tr>
<tr class="separator:gae13868848d86bd438b31458a8b3aaad8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaadf5b20ff2b268460f7925bd114b7f1f"><td class="memItemLeft" align="right" valign="top">u8 *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xsecure__kat__server__apis.html#gaadf5b20ff2b268460f7925bd114b7f1f">XSecure_GetKatEccEphemeralKey</a> (<a class="el" href="group__xsecure__common__apis.html#ga7aecdb57be4a4242f11ad3e3bebb42e6">XSecure_EllipticCrvTyp</a> CrvType)</td></tr>
<tr class="memdesc:gaadf5b20ff2b268460f7925bd114b7f1f"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function returns ECC ephemeral key to perform KAT.  <a href="#gaadf5b20ff2b268460f7925bd114b7f1f">More...</a><br/></td></tr>
<tr class="separator:gaadf5b20ff2b268460f7925bd114b7f1f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaed0ff5bd2a251e178b5c985cabbd5814"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xsecure__kat__server__apis.html#gaed0ff5bd2a251e178b5c985cabbd5814">XSecure_AesDecryptCmKat</a> (const XSecure_Aes *AesInstance)</td></tr>
<tr class="memdesc:gaed0ff5bd2a251e178b5c985cabbd5814"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function performs known answer test(KAT) on AES engine to confirm DPA counter measures is working fine.  <a href="#gaed0ff5bd2a251e178b5c985cabbd5814">More...</a><br/></td></tr>
<tr class="separator:gaed0ff5bd2a251e178b5c985cabbd5814"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0567b89c7436b6925d6f64ef15b628e0"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xsecure__kat__server__apis.html#ga0567b89c7436b6925d6f64ef15b628e0">XSecure_AesDecryptKat</a> (XSecure_Aes *AesInstance)</td></tr>
<tr class="memdesc:ga0567b89c7436b6925d6f64ef15b628e0"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function performs decryption known answer test(KAT) on AES engine.  <a href="#ga0567b89c7436b6925d6f64ef15b628e0">More...</a><br/></td></tr>
<tr class="separator:ga0567b89c7436b6925d6f64ef15b628e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafe625810c2509e3d9b490d63c3861807"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xsecure__kat__server__apis.html#gafe625810c2509e3d9b490d63c3861807">XSecure_AesEncryptKat</a> (XSecure_Aes *AesInstance)</td></tr>
<tr class="memdesc:gafe625810c2509e3d9b490d63c3861807"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function performs encryption known answer test(KAT) on AES engine.  <a href="#gafe625810c2509e3d9b490d63c3861807">More...</a><br/></td></tr>
<tr class="separator:gafe625810c2509e3d9b490d63c3861807"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga56962fc3f5090340f69a4fa56ef264ad"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xsecure__kat__server__apis.html#ga56962fc3f5090340f69a4fa56ef264ad">XSecure_Sha3Kat</a> (XSecure_Sha3 *SecureSha3)</td></tr>
<tr class="memdesc:ga56962fc3f5090340f69a4fa56ef264ad"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function performs known answer test(KAT) on SHA crypto engine.  <a href="#ga56962fc3f5090340f69a4fa56ef264ad">More...</a><br/></td></tr>
<tr class="separator:ga56962fc3f5090340f69a4fa56ef264ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac4ab51058f2ef18bcb5a1aedf95b83d8"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xsecure__kat__server__apis.html#gac4ab51058f2ef18bcb5a1aedf95b83d8">XSecure_RsaPublicEncryptKat</a> (void)</td></tr>
<tr class="memdesc:gac4ab51058f2ef18bcb5a1aedf95b83d8"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function performs KAT on RSA core.  <a href="#gac4ab51058f2ef18bcb5a1aedf95b83d8">More...</a><br/></td></tr>
<tr class="separator:gac4ab51058f2ef18bcb5a1aedf95b83d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0bc8cabf909b4a457656573b4b701c3a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xsecure__kat__server__apis.html#ga0bc8cabf909b4a457656573b4b701c3a">XSecure_EllipticVerifySignKat</a> (<a class="el" href="group__xsecure__common__apis.html#gaec6e0642a5377d68c66bc54fb39ad161">XSecure_EllipticCrvClass</a> CrvClass)</td></tr>
<tr class="memdesc:ga0bc8cabf909b4a457656573b4b701c3a"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function performs ECC sign verify known answer test(KAT) on ECC core.  <a href="#ga0bc8cabf909b4a457656573b4b701c3a">More...</a><br/></td></tr>
<tr class="separator:ga0bc8cabf909b4a457656573b4b701c3a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga75b2f22f2f6c3bdb9529025c8ecf58f2"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xsecure__kat__server__apis.html#ga75b2f22f2f6c3bdb9529025c8ecf58f2">XSecure_EllipticSignGenerateKat</a> (<a class="el" href="group__xsecure__common__apis.html#gaec6e0642a5377d68c66bc54fb39ad161">XSecure_EllipticCrvClass</a> CrvClass)</td></tr>
<tr class="memdesc:ga75b2f22f2f6c3bdb9529025c8ecf58f2"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function performs ECC sign generate known answer test(KAT) on ECC core.  <a href="#ga75b2f22f2f6c3bdb9529025c8ecf58f2">More...</a><br/></td></tr>
<tr class="separator:ga75b2f22f2f6c3bdb9529025c8ecf58f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7e6af9c7d2a5b9c134f201143b5caaca"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xsecure__kat__server__apis.html#ga7e6af9c7d2a5b9c134f201143b5caaca">XSecure_EllipticPwct</a> (<a class="el" href="group__xsecure__common__apis.html#ga7aecdb57be4a4242f11ad3e3bebb42e6">XSecure_EllipticCrvTyp</a> Curvetype, u64 DAddr, <a class="el" href="struct_x_secure___elliptic_key_addr.html">XSecure_EllipticKeyAddr</a> *PubKeyAddr)</td></tr>
<tr class="memdesc:ga7e6af9c7d2a5b9c134f201143b5caaca"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function performs ECC pairwise consistency test on ECC core.  <a href="#ga7e6af9c7d2a5b9c134f201143b5caaca">More...</a><br/></td></tr>
<tr class="separator:ga7e6af9c7d2a5b9c134f201143b5caaca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga693f088bbeaa2be1dd7a084c2bee6351"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xsecure__kat__server__apis.html#ga693f088bbeaa2be1dd7a084c2bee6351">XSecure_KatIpiHandler</a> (XPlmi_Cmd *Cmd)</td></tr>
<tr class="memdesc:ga693f088bbeaa2be1dd7a084c2bee6351"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function calls respective IPI handler based on the API_ID.  <a href="#ga693f088bbeaa2be1dd7a084c2bee6351">More...</a><br/></td></tr>
<tr class="separator:ga693f088bbeaa2be1dd7a084c2bee6351"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaff9e6accc6dbd6922eda1a4d2322fdf6"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xsecure__kat__server__apis.html#gaff9e6accc6dbd6922eda1a4d2322fdf6">XSecure_RsaPrivateDecryptKat</a> (void)</td></tr>
<tr class="memdesc:gaff9e6accc6dbd6922eda1a4d2322fdf6"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function performs private decrypt KAT on RSA core.  <a href="#gaff9e6accc6dbd6922eda1a4d2322fdf6">More...</a><br/></td></tr>
<tr class="separator:gaff9e6accc6dbd6922eda1a4d2322fdf6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab8bb729a4444afbdef55ba93e2a06935"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xsecure__kat__server__apis.html#gab8bb729a4444afbdef55ba93e2a06935">XSecure_HmacKat</a> (XSecure_Sha *SecureSha)</td></tr>
<tr class="memdesc:gab8bb729a4444afbdef55ba93e2a06935"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function performs KAT on HMAC (SHA3-384).  <a href="#gab8bb729a4444afbdef55ba93e2a06935">More...</a><br/></td></tr>
<tr class="separator:gab8bb729a4444afbdef55ba93e2a06935"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabcd23e63d210e5c19bc9d4eeedac8dec"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xsecure__kat__server__apis.html#gabcd23e63d210e5c19bc9d4eeedac8dec">XSecure_Sha384Kat</a> (void)</td></tr>
<tr class="memdesc:gabcd23e63d210e5c19bc9d4eeedac8dec"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function performs KAT on SHA-384.  <a href="#gabcd23e63d210e5c19bc9d4eeedac8dec">More...</a><br/></td></tr>
<tr class="separator:gabcd23e63d210e5c19bc9d4eeedac8dec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad5b378b529d087505726876fcf3e8b79"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xsecure__kat__server__apis.html#gad5b378b529d087505726876fcf3e8b79">XSecure_Sha2256Kat</a> (XSecure_Sha *SecureSha2)</td></tr>
<tr class="memdesc:gad5b378b529d087505726876fcf3e8b79"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function performs known answer test(KAT) on SHA-2 crypto engine.  <a href="#gad5b378b529d087505726876fcf3e8b79">More...</a><br/></td></tr>
<tr class="separator:gad5b378b529d087505726876fcf3e8b79"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8e446a6cf529f6a697035b0643c22c1b"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xsecure__kat__server__apis.html#ga8e446a6cf529f6a697035b0643c22c1b">XSecure_ShakeKat</a> (XSecure_Sha *SecureShake)</td></tr>
<tr class="memdesc:ga8e446a6cf529f6a697035b0643c22c1b"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function performs known answer test(KAT) on SHAKE crypto engine.  <a href="#ga8e446a6cf529f6a697035b0643c22c1b">More...</a><br/></td></tr>
<tr class="separator:ga8e446a6cf529f6a697035b0643c22c1b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacd410c8890a3160304bf000bf0af2031"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xsecure__kat__server__apis.html#gacd410c8890a3160304bf000bf0af2031">XSecure_HssSha2256Kat</a> (XSecure_Sha *ShaInstPtr, XPmcDma *DmaPtr)</td></tr>
<tr class="memdesc:gacd410c8890a3160304bf000bf0af2031"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function performs KAT on HSS SHA2 256.  <a href="#gacd410c8890a3160304bf000bf0af2031">More...</a><br/></td></tr>
<tr class="separator:gacd410c8890a3160304bf000bf0af2031"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga75f8f635a7d2a99f8b2011b8365a7c46"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xsecure__kat__server__apis.html#ga75f8f635a7d2a99f8b2011b8365a7c46">XSecure_HssShake256Kat</a> (XSecure_Sha *ShaInstPtr, XPmcDma *DmaPtr)</td></tr>
<tr class="memdesc:ga75f8f635a7d2a99f8b2011b8365a7c46"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function performs KAT on HSS SHAKE 256.  <a href="#ga75f8f635a7d2a99f8b2011b8365a7c46">More...</a><br/></td></tr>
<tr class="separator:ga75f8f635a7d2a99f8b2011b8365a7c46"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad7b08bfc183e838bb6d65a94b96ea218"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xsecure__kat__server__apis.html#gad7b08bfc183e838bb6d65a94b96ea218">XSecure_LmsSha2256Kat</a> (XSecure_Sha *ShaInstPtr, XPmcDma *DmaPtr)</td></tr>
<tr class="memdesc:gad7b08bfc183e838bb6d65a94b96ea218"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function performs KAT on LMS - SHA2 256.  <a href="#gad7b08bfc183e838bb6d65a94b96ea218">More...</a><br/></td></tr>
<tr class="separator:gad7b08bfc183e838bb6d65a94b96ea218"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafc77ae5d3ebc5c665ee997c554612390"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xsecure__kat__server__apis.html#gafc77ae5d3ebc5c665ee997c554612390">XSecure_LmsShake256Kat</a> (XSecure_Sha *ShaInstPtr, XPmcDma *DmaPtr)</td></tr>
<tr class="memdesc:gafc77ae5d3ebc5c665ee997c554612390"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function performs KAT on LMS SHAKE 256.  <a href="#gafc77ae5d3ebc5c665ee997c554612390">More...</a><br/></td></tr>
<tr class="separator:gafc77ae5d3ebc5c665ee997c554612390"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf7cb17f01c5c5542c9c2b3d6f00699d3"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xsecure__kat__server__apis.html#gaf7cb17f01c5c5542c9c2b3d6f00699d3">XSecure_KatPlatIpiHandler</a> (XPlmi_Cmd *Cmd)</td></tr>
<tr class="memdesc:gaf7cb17f01c5c5542c9c2b3d6f00699d3"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function calls respective IPI handler based on the API_ID.  <a href="#gaf7cb17f01c5c5542c9c2b3d6f00699d3">More...</a><br/></td></tr>
<tr class="separator:gaf7cb17f01c5c5542c9c2b3d6f00699d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaeef1675ed072c8187d88b630df7204c3"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xsecure__kat__server__apis.html#gaeef1675ed072c8187d88b630df7204c3">XSecure_RsaPwct</a> (XSecure_RsaPrivKey *PrivKey, XSecure_RsaPubKey *PubKey, void *ShaInstancePtr, XSecure_ShaMode Shatype)</td></tr>
<tr class="memdesc:gaeef1675ed072c8187d88b630df7204c3"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function performs pairwise consistency test for generated RSA key pair using OAEP encrypt and decrypt operation.  <a href="#gaeef1675ed072c8187d88b630df7204c3">More...</a><br/></td></tr>
<tr class="separator:gaeef1675ed072c8187d88b630df7204c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga88d62049d752ebdaecef899fdf2dfa16"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xsecure__kat__server__apis.html#ga88d62049d752ebdaecef899fdf2dfa16">XSecure_UpdateKatStatusIpiHandler</a> (XPlmi_Cmd *Cmd)</td></tr>
<tr class="memdesc:ga88d62049d752ebdaecef899fdf2dfa16"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function calls respective IPI handler based on the API_ID.  <a href="#ga88d62049d752ebdaecef899fdf2dfa16">More...</a><br/></td></tr>
<tr class="separator:ga88d62049d752ebdaecef899fdf2dfa16"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
AES KAT parameters</h2></td></tr>
<tr class="memitem:gafba10644d883a1608f9adbeb0c7c6356"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xsecure__kat__server__apis.html#gafba10644d883a1608f9adbeb0c7c6356">XSECURE_KAT_AES_SPLIT_DATA_SIZE</a>&#160;&#160;&#160;(4U)</td></tr>
<tr class="memdesc:gafba10644d883a1608f9adbeb0c7c6356"><td class="mdescLeft">&#160;</td><td class="mdescRight">&lt; AES KAT parameters  <a href="#gafba10644d883a1608f9adbeb0c7c6356">More...</a><br/></td></tr>
<tr class="separator:gafba10644d883a1608f9adbeb0c7c6356"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4b8a18a90b5721d6eb054b56eed91d16"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga4b8a18a90b5721d6eb054b56eed91d16"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XSECURE_KAT_KEY_SIZE_IN_WORDS</b>&#160;&#160;&#160;(8U)</td></tr>
<tr class="separator:ga4b8a18a90b5721d6eb054b56eed91d16"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga59d2f9d7512a27cad3ad502fc0977b18"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga59d2f9d7512a27cad3ad502fc0977b18"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XSECURE_KAT_OPER_DATA_SIZE_IN_WORDS</b>&#160;&#160;&#160;(16U)</td></tr>
<tr class="separator:ga59d2f9d7512a27cad3ad502fc0977b18"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a class="anchor" id="ga34597748760ae137fa56fae50de54489"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XSECURE_DDR_KAT_MASK_MUL&#160;&#160;&#160;(4U)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Multiplier to get DDR KAT mask. </p>

<p>Referenced by <a class="el" href="group__xsecure__kat__server__apis.html#ga88d62049d752ebdaecef899fdf2dfa16">XSecure_UpdateKatStatusIpiHandler()</a>.</p>

</div>
</div>
<a class="anchor" id="gaca9dc1d0d77149e934d36dc1369c02a1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XSECURE_DDR_MAX_SUPPORT&#160;&#160;&#160;(7U)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Maximum supported DDR. </p>

<p>Referenced by <a class="el" href="group__xsecure__kat__server__apis.html#ga88d62049d752ebdaecef899fdf2dfa16">XSecure_UpdateKatStatusIpiHandler()</a>.</p>

</div>
</div>
<a class="anchor" id="ga18b6ea3b42f6a4f57a38f05638bbc341"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XSECURE_DEF_KAT_MASK&#160;&#160;&#160;(0xFFFFFFFFU)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>KAT mask. </p>

<p>Referenced by <a class="el" href="group__xsecure__kat__server__apis.html#ga88d62049d752ebdaecef899fdf2dfa16">XSecure_UpdateKatStatusIpiHandler()</a>.</p>

</div>
</div>
<a class="anchor" id="ga15819c80fc33c83f862185f5990b46d8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XSECURE_KAT_AAD_SIZE_IN_BYTES&#160;&#160;&#160;(16U)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>AAD size of known answer test in bytes. </p>

<p>Referenced by <a class="el" href="group__xsecure__kat__server__apis.html#ga0567b89c7436b6925d6f64ef15b628e0">XSecure_AesDecryptKat()</a>, and <a class="el" href="group__xsecure__kat__server__apis.html#gafe625810c2509e3d9b490d63c3861807">XSecure_AesEncryptKat()</a>.</p>

</div>
</div>
<a class="anchor" id="gafba10644d883a1608f9adbeb0c7c6356"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XSECURE_KAT_AES_SPLIT_DATA_SIZE&#160;&#160;&#160;(4U)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>&lt; AES KAT parameters </p>

</div>
</div>
<a class="anchor" id="ga4c9a5ee5ed7fdcbc0a321c211ee6634d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XSECURE_KAT_ECC_P521_SHA3_HASH_SIZE_IN_BYTES&#160;&#160;&#160;(66U)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Hash size of ECC P521 and SHA3 in bytes. </p>

</div>
</div>
<a class="anchor" id="ga79e887ac0eaae097fa9d70181de6815e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XSECURE_KAT_IV_SIZE_IN_BYTES&#160;&#160;&#160;(16U)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>IV size of known answer test in bytes. </p>

</div>
</div>
<a class="anchor" id="ga8e5924ae95e0c0dc230150bd6a07d688"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XSECURE_KAT_KEY_SIZE_IN_BYTES&#160;&#160;&#160;(32U)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Key size of known answer test in bytes. </p>

<p>Referenced by <a class="el" href="group__xsecure__kat__server__apis.html#gab8bb729a4444afbdef55ba93e2a06935">XSecure_HmacKat()</a>.</p>

</div>
</div>
<a class="anchor" id="ga80e9681c00670510197c2079b9790de1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XSECURE_KAT_MAX_CMD_LEN&#160;&#160;&#160;(4U)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Maximum command length. </p>

<p>Referenced by <a class="el" href="group__xsecure__kat__server__apis.html#ga88d62049d752ebdaecef899fdf2dfa16">XSecure_UpdateKatStatusIpiHandler()</a>.</p>

</div>
</div>
<a class="anchor" id="ga62a7fc37111b22311ea7d993de67c059"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XSECURE_KAT_MSG_LEN_IN_BYTES&#160;&#160;&#160;(32U)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Message length of known answer test in bytes. </p>

<p>Referenced by <a class="el" href="group__xsecure__kat__server__apis.html#ga0567b89c7436b6925d6f64ef15b628e0">XSecure_AesDecryptKat()</a>, <a class="el" href="group__xsecure__kat__server__apis.html#gafe625810c2509e3d9b490d63c3861807">XSecure_AesEncryptKat()</a>, <a class="el" href="group__xsecure__kat__server__apis.html#gab8bb729a4444afbdef55ba93e2a06935">XSecure_HmacKat()</a>, <a class="el" href="group__xsecure__kat__server__apis.html#gaeef1675ed072c8187d88b630df7204c3">XSecure_RsaPwct()</a>, <a class="el" href="group__xsecure__kat__server__apis.html#gabcd23e63d210e5c19bc9d4eeedac8dec">XSecure_Sha384Kat()</a>, and <a class="el" href="group__xsecure__kat__server__apis.html#ga56962fc3f5090340f69a4fa56ef264ad">XSecure_Sha3Kat()</a>.</p>

</div>
</div>
<a class="anchor" id="ga9c5df1df89f4e95f8e8abf828ef93dad"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XSECURE_KAT_MSG_LEN_IN_WORDS&#160;&#160;&#160;(8U)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Message length of known answer test in words. </p>

<p>Referenced by <a class="el" href="group__xsecure__kat__server__apis.html#ga0567b89c7436b6925d6f64ef15b628e0">XSecure_AesDecryptKat()</a>, and <a class="el" href="group__xsecure__kat__server__apis.html#gafe625810c2509e3d9b490d63c3861807">XSecure_AesEncryptKat()</a>.</p>

</div>
</div>
<a class="anchor" id="ga39a9083040eed4679786b8dc1646b973"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XSECURE_KAT_RSA_PUB_EXP&#160;&#160;&#160;(0x1000100U)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>RSA public exponent of known answer test. </p>

<p>Referenced by <a class="el" href="group__xsecure__kat__server__apis.html#gac4ab51058f2ef18bcb5a1aedf95b83d8">XSecure_RsaPublicEncryptKat()</a>.</p>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="gaed0ff5bd2a251e178b5c985cabbd5814"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XSecure_AesDecryptCmKat </td>
          <td>(</td>
          <td class="paramtype">const XSecure_Aes *&#160;</td>
          <td class="paramname"><em>AesInstance</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function performs known answer test(KAT) on AES engine to confirm DPA counter measures is working fine. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">AesInstance</td><td>Pointer to the XSecure_Aes instance</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS When KAT Pass</li>
<li>XSECURE_AESKAT_INVALID_PARAM On invalid argument</li>
<li>XSECURE_AES_KAT_BUSY when AES is busy</li>
<li>XSECURE_AES_STATE_MISMATCH_ERROR If AES state is mismatched</li>
<li>XSECURE_AESDPACM_KAT_CHECK1_FAILED_ERROR Error when AESDPACM data not matched with expected data</li>
<li>XSECURE_AESDPACM_KAT_CHECK2_FAILED_ERROR Error when AESDPACM data not matched with expected data</li>
<li>XSECURE_AESDPACM_KAT_CHECK3_FAILED_ERROR Error when AESDPACM data not matched with expected data</li>
<li>XSECURE_AESDPACM_KAT_CHECK4_FAILED_ERROR Error when AESDPACM data not matched with expected data</li>
<li>XSECURE_AESDPACM_KAT_CHECK5_FAILED_ERROR Error when AESDPACM data not matched with expected data</li>
<li>XST_FAILURE On failure </li>
</ul>
</dd></dl>
<p>Perform KAT on AES engine to know performance integrity </p>

<p>References <a class="el" href="group__xsecure__error__codes.html#ggacba8dc046b878afa42fdc63ce1dc2574ad2abb9d964e6d6e943a9568f0cb39c37">XSECURE_AES_KAT_BUSY</a>, <a class="el" href="group__xsecure__error__codes.html#ggacba8dc046b878afa42fdc63ce1dc2574acc47a7e8e079ea3b61729bb366e5b8e2">XSECURE_AES_STATE_MISMATCH_ERROR</a>, <a class="el" href="group__xsecure__aes__client__apis.html#gga3be7525f93a2e54baa60c3b1a9df262cab5c84ff4a7f15af959065b2e66aa088f">XSECURE_AES_USER_KEY_7</a>, <a class="el" href="group__xsecure__error__codes.html#ggacba8dc046b878afa42fdc63ce1dc2574aff302353978d97def6bd8595dfb31264">XSECURE_AESDPACM_KAT_CHECK1_FAILED_ERROR</a>, <a class="el" href="group__xsecure__error__codes.html#ggacba8dc046b878afa42fdc63ce1dc2574a8cbd14adcef5b6efc7152daa2e7081ad">XSECURE_AESDPACM_KAT_CHECK2_FAILED_ERROR</a>, <a class="el" href="group__xsecure__error__codes.html#ggacba8dc046b878afa42fdc63ce1dc2574af760ff2383765583cf4f637c38295de5">XSECURE_AESDPACM_KAT_CHECK3_FAILED_ERROR</a>, <a class="el" href="group__xsecure__error__codes.html#ggacba8dc046b878afa42fdc63ce1dc2574a5208e45fe707403bbbe6261b22851c0d">XSECURE_AESDPACM_KAT_CHECK4_FAILED_ERROR</a>, <a class="el" href="group__xsecure__error__codes.html#ggacba8dc046b878afa42fdc63ce1dc2574a497059e963ededf7a859d94c55bb78b3">XSECURE_AESDPACM_KAT_CHECK5_FAILED_ERROR</a>, <a class="el" href="group__xsecure__aes__server__apis.html#ga443eef9b38401bfcbafa33a4eec6859c">XSecure_AesDpaCmDecryptData()</a>, <a class="el" href="group__xsecure__error__codes.html#ggacba8dc046b878afa42fdc63ce1dc2574af9af68710576ff8ec15632d615f8b2eb">XSECURE_AESKAT_INVALID_PARAM</a>, and <a class="el" href="group__xsecure__aes__client__apis.html#gaa3c4b19232e0c5fa8cf14d69410e31e7">XSecure_AesKeyZero()</a>.</p>

</div>
</div>
<a class="anchor" id="ga0567b89c7436b6925d6f64ef15b628e0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XSecure_AesDecryptKat </td>
          <td>(</td>
          <td class="paramtype">XSecure_Aes *&#160;</td>
          <td class="paramname"><em>AesInstance</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function performs decryption known answer test(KAT) on AES engine. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">AesInstance</td><td>Pointer to the XSecure_Aes instance</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS When KAT Pass</li>
<li>XSECURE_AESKAT_INVALID_PARAM Invalid Argument</li>
<li>XSECURE_AES_KAT_BUSY Error when AES is busy</li>
<li>XSECURE_AES_STATE_MISMATCH_ERROR Error when AES state is mismatched</li>
<li>XSECURE_AES_KAT_WRITE_KEY_FAILED_ERROR Error when AES key write fails</li>
<li>XSECURE_AES_KAT_DECRYPT_INIT_FAILED_ERROR Error when AES decrypt init fails</li>
<li>XSECURE_AES_KAT_UPDATE_AAD_FAILED_ERROR Error when update AAD fails</li>
<li>XSECURE_AES_KAT_DECRYPT_UPDATE_FAILED_ERROR Error when decrypt update fails</li>
<li>XSECURE_AES_KAT_GCM_TAG_MISMATCH_ERROR Error when GCM tag not matched with user provided tag</li>
<li>XSECURE_AES_KAT_DATA_MISMATCH_ERROR Error when AES data not matched with expected data </li>
</ul>
</dd></dl>
<p>Write AES key</p>
<p>Configure AES engine to decryption</p>
<p>Update AAD</p>
<p>Update input and output addresses to AES engine</p>
<p>Verify the GCM Tag</p>
<p>Validate the decrypted data with expected data provided </p>

<p>References <a class="el" href="group__xsecure__error__codes.html#ggacba8dc046b878afa42fdc63ce1dc2574ad2abb9d964e6d6e943a9568f0cb39c37">XSECURE_AES_KAT_BUSY</a>, <a class="el" href="group__xsecure__error__codes.html#ggacba8dc046b878afa42fdc63ce1dc2574a2fda03187ed24897deb551730db5d7dd">XSECURE_AES_KAT_DATA_MISMATCH_ERROR</a>, <a class="el" href="group__xsecure__error__codes.html#ggacba8dc046b878afa42fdc63ce1dc2574aeec3900a6543e63255c5000a16d84ba3">XSECURE_AES_KAT_DECRYPT_INIT_FAILED_ERROR</a>, <a class="el" href="group__xsecure__error__codes.html#ggacba8dc046b878afa42fdc63ce1dc2574a4a44fcd0cfe11d6ed720c3f06d0fd637">XSECURE_AES_KAT_DECRYPT_UPDATE_FAILED_ERROR</a>, <a class="el" href="group__xsecure__error__codes.html#ggacba8dc046b878afa42fdc63ce1dc2574a6a555735b1749720a2c3d98a4a57ff49">XSECURE_AES_KAT_GCM_TAG_MISMATCH_ERROR</a>, <a class="el" href="group__xsecure__error__codes.html#ggacba8dc046b878afa42fdc63ce1dc2574a8c2902e2ef0bf357467dff7fea167f3f">XSECURE_AES_KAT_UPDATE_AAD_FAILED_ERROR</a>, <a class="el" href="group__xsecure__error__codes.html#ggacba8dc046b878afa42fdc63ce1dc2574a4b7bb436c96f0fb04eeec89a2162a6d6">XSECURE_AES_KAT_WRITE_KEY_FAILED_ERROR</a>, <a class="el" href="group__xsecure__error__codes.html#ggacba8dc046b878afa42fdc63ce1dc2574acc47a7e8e079ea3b61729bb366e5b8e2">XSECURE_AES_STATE_MISMATCH_ERROR</a>, <a class="el" href="group__xsecure__aes__client__apis.html#gga3be7525f93a2e54baa60c3b1a9df262cab5c84ff4a7f15af959065b2e66aa088f">XSECURE_AES_USER_KEY_7</a>, <a class="el" href="group__xsecure__aes__client__apis.html#ga49114523757f3b39daf51876ba899e51">XSecure_AesDecryptFinal()</a>, <a class="el" href="group__xsecure__aes__client__apis.html#gacea2fc49243f66d0b440a95d1bd6170f">XSecure_AesDecryptInit()</a>, <a class="el" href="group__xsecure__aes__client__apis.html#ga3150fb8656509ac0217c44c9609776cc">XSecure_AesDecryptUpdate()</a>, <a class="el" href="group__xsecure__error__codes.html#ggacba8dc046b878afa42fdc63ce1dc2574af9af68710576ff8ec15632d615f8b2eb">XSECURE_AESKAT_INVALID_PARAM</a>, <a class="el" href="group__xsecure__aes__client__apis.html#gaa3c4b19232e0c5fa8cf14d69410e31e7">XSecure_AesKeyZero()</a>, <a class="el" href="group__xsecure__aes__client__apis.html#gab23a3dfb8aadcc94500201af5f25b659">XSecure_AesUpdateAad()</a>, <a class="el" href="group__xsecure__aes__client__apis.html#ga056f80ac76299a3ed41102b9f21237e7">XSecure_AesWriteKey()</a>, <a class="el" href="group__xsecure__helper__server__apis.html#ga557eeba8aca187788ae1d41a4e255f0d">XSecure_ConfigureDmaByteSwap()</a>, <a class="el" href="group__xsecure__helper__server__apis.html#gac526e7d08ad548f3b562e3c74f020a67">XSECURE_ENABLE_BYTE_SWAP</a>, <a class="el" href="group__xsecure__kat__server__apis.html#ga8df0f1f6e52ec26041e750769de1130c">XSecure_GetKatMessage()</a>, <a class="el" href="group__xsecure__kat__server__apis.html#ga15819c80fc33c83f862185f5990b46d8">XSECURE_KAT_AAD_SIZE_IN_BYTES</a>, <a class="el" href="group__xsecure__kat__server__apis.html#ga62a7fc37111b22311ea7d993de67c059">XSECURE_KAT_MSG_LEN_IN_BYTES</a>, and <a class="el" href="group__xsecure__kat__server__apis.html#ga9c5df1df89f4e95f8e8abf828ef93dad">XSECURE_KAT_MSG_LEN_IN_WORDS</a>.</p>

</div>
</div>
<a class="anchor" id="gafe625810c2509e3d9b490d63c3861807"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XSecure_AesEncryptKat </td>
          <td>(</td>
          <td class="paramtype">XSecure_Aes *&#160;</td>
          <td class="paramname"><em>AesInstance</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function performs encryption known answer test(KAT) on AES engine. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">AesInstance</td><td>Pointer to the XSecure_Aes instance</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS When KAT Pass</li>
<li>XSECURE_AESKAT_INVALID_PARAM Invalid Argument</li>
<li>XSECURE_AES_KAT_BUSY Error when AES is busy</li>
<li>XSECURE_AES_STATE_MISMATCH_ERROR Error when AES state is mismatched</li>
<li>XSECURE_AES_KAT_WRITE_KEY_FAILED_ERROR Error when AES key write fails</li>
<li>XSECURE_AES_KAT_ENCRYPT_INIT_FAILED_ERROR Error when AES encrypt init fails</li>
<li>XSECURE_AES_KAT_UPDATE_AAD_FAILED_ERROR Error when update AAD fails</li>
<li>XSECURE_AES_KAT_ENCRYPT_UPDATE_FAILED_ERROR Error when AES encrypt update fails</li>
<li>XSECURE_AES_KAT_ENCRYPT_FINAL_FAILED_ERROR Error when AES encrypt final fails</li>
<li>XSECURE_KAT_GCM_TAG_MISMATCH_ERROR Error when GCM tag not matched with user provided tag</li>
<li>XSECURE_AES_KAT_DATA_MISMATCH_ERROR Error when AES data not matched with expected data </li>
</ul>
</dd></dl>
<p>Write AES key</p>
<p>Configure AES engine to encryption</p>
<p>Update AAD</p>
<p>Update input and output addresses to AES engine</p>
<p>Update output address to AES engine to store GCM Tag</p>
<p>Validate the encrypted data with expected data provided</p>
<p>Validate the GCM Tag </p>

<p>References <a class="el" href="group__xsecure__error__codes.html#ggacba8dc046b878afa42fdc63ce1dc2574ad2abb9d964e6d6e943a9568f0cb39c37">XSECURE_AES_KAT_BUSY</a>, <a class="el" href="group__xsecure__error__codes.html#ggacba8dc046b878afa42fdc63ce1dc2574a2fda03187ed24897deb551730db5d7dd">XSECURE_AES_KAT_DATA_MISMATCH_ERROR</a>, <a class="el" href="group__xsecure__error__codes.html#ggacba8dc046b878afa42fdc63ce1dc2574a914bd30f37525779a4ebeaf64d8eb1d0">XSECURE_AES_KAT_ENCRYPT_FINAL_FAILED_ERROR</a>, <a class="el" href="group__xsecure__error__codes.html#ggacba8dc046b878afa42fdc63ce1dc2574ae29b1104da8a1c2b56b66ca528379d38">XSECURE_AES_KAT_ENCRYPT_INIT_FAILED_ERROR</a>, <a class="el" href="group__xsecure__error__codes.html#ggacba8dc046b878afa42fdc63ce1dc2574a998b735188b13c2523ec333767f211d1">XSECURE_AES_KAT_ENCRYPT_UPDATE_FAILED_ERROR</a>, <a class="el" href="group__xsecure__error__codes.html#ggacba8dc046b878afa42fdc63ce1dc2574a8c2902e2ef0bf357467dff7fea167f3f">XSECURE_AES_KAT_UPDATE_AAD_FAILED_ERROR</a>, <a class="el" href="group__xsecure__error__codes.html#ggacba8dc046b878afa42fdc63ce1dc2574a4b7bb436c96f0fb04eeec89a2162a6d6">XSECURE_AES_KAT_WRITE_KEY_FAILED_ERROR</a>, <a class="el" href="group__xsecure__error__codes.html#ggacba8dc046b878afa42fdc63ce1dc2574acc47a7e8e079ea3b61729bb366e5b8e2">XSECURE_AES_STATE_MISMATCH_ERROR</a>, <a class="el" href="group__xsecure__aes__client__apis.html#gga3be7525f93a2e54baa60c3b1a9df262cab5c84ff4a7f15af959065b2e66aa088f">XSECURE_AES_USER_KEY_7</a>, <a class="el" href="group__xsecure__aes__client__apis.html#ga982cb284b765c652355d9f942798211b">XSecure_AesEncryptFinal()</a>, <a class="el" href="group__xsecure__aes__client__apis.html#ga23f9b2bfaf978518d82c19d8331c9cb8">XSecure_AesEncryptInit()</a>, <a class="el" href="group__xsecure__aes__client__apis.html#ga162a8009f9d4983d841b517fe53d14c4">XSecure_AesEncryptUpdate()</a>, <a class="el" href="group__xsecure__error__codes.html#ggacba8dc046b878afa42fdc63ce1dc2574af9af68710576ff8ec15632d615f8b2eb">XSECURE_AESKAT_INVALID_PARAM</a>, <a class="el" href="group__xsecure__aes__client__apis.html#gaa3c4b19232e0c5fa8cf14d69410e31e7">XSecure_AesKeyZero()</a>, <a class="el" href="group__xsecure__aes__client__apis.html#gab23a3dfb8aadcc94500201af5f25b659">XSecure_AesUpdateAad()</a>, <a class="el" href="group__xsecure__aes__client__apis.html#ga056f80ac76299a3ed41102b9f21237e7">XSecure_AesWriteKey()</a>, <a class="el" href="group__xsecure__helper__server__apis.html#ga557eeba8aca187788ae1d41a4e255f0d">XSecure_ConfigureDmaByteSwap()</a>, <a class="el" href="group__xsecure__helper__server__apis.html#gac526e7d08ad548f3b562e3c74f020a67">XSECURE_ENABLE_BYTE_SWAP</a>, <a class="el" href="group__xsecure__kat__server__apis.html#ga8df0f1f6e52ec26041e750769de1130c">XSecure_GetKatMessage()</a>, <a class="el" href="group__xsecure__kat__server__apis.html#ga15819c80fc33c83f862185f5990b46d8">XSECURE_KAT_AAD_SIZE_IN_BYTES</a>, <a class="el" href="group__xsecure__error__codes.html#ggacba8dc046b878afa42fdc63ce1dc2574a810d032e6bfa5e00625e8e5cae1ff011">XSECURE_KAT_GCM_TAG_MISMATCH_ERROR</a>, <a class="el" href="group__xsecure__kat__server__apis.html#ga62a7fc37111b22311ea7d993de67c059">XSECURE_KAT_MSG_LEN_IN_BYTES</a>, and <a class="el" href="group__xsecure__kat__server__apis.html#ga9c5df1df89f4e95f8e8abf828ef93dad">XSECURE_KAT_MSG_LEN_IN_WORDS</a>.</p>

</div>
</div>
<a class="anchor" id="ga7e6af9c7d2a5b9c134f201143b5caaca"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XSecure_EllipticPwct </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__xsecure__common__apis.html#ga7aecdb57be4a4242f11ad3e3bebb42e6">XSecure_EllipticCrvTyp</a>&#160;</td>
          <td class="paramname"><em>Curvetype</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u64&#160;</td>
          <td class="paramname"><em>DAddr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="struct_x_secure___elliptic_key_addr.html">XSecure_EllipticKeyAddr</a> *&#160;</td>
          <td class="paramname"><em>PubKeyAddr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function performs ECC pairwise consistency test on ECC core. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">Curvetype</td><td>Type of ECC curve used for authentication </td></tr>
    <tr><td class="paramname">DAddr</td><td>Address of ECC private key </td></tr>
    <tr><td class="paramname">PubKeyAddr</td><td>Address of ECC public key</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS When KAT passes</li>
<li>XSECURE_ELLIPTIC_KAT_INVLD_CRV_ERROR When input is invalid</li>
<li>XSECURE_ELLIPTIC_KAT_GENERATE_SIGN_64BIT_ERROR When generate signature fails</li>
<li>XSECURE_ELLIPTIC_KAT_64BIT_SIGN_VERIFY_ERROR When verify sign is invalid </li>
</ul>
</dd></dl>
<p>Get size as per the curve type</p>
<p>Generate signature for given Hash and curve type</p>
<p>Verify the signature </p>

<p>References <a class="el" href="struct_x_secure___elliptic_hash_data.html#a07c12dc312b5f283897e5a4917feedb6">XSecure_EllipticHashData::Addr</a>, <a class="el" href="xsecure__lms__ots_8h.html#a1409f77262465120c3094dcd039e1f32">K</a>, <a class="el" href="struct_x_secure___elliptic_hash_data.html#a511f26334411d75a9b5eb2681f2a7464">XSecure_EllipticHashData::Len</a>, <a class="el" href="struct_x_secure___elliptic_sign_addr.html#acd6064a14b174830f5d05a15a922ce46">XSecure_EllipticSignAddr::SignR</a>, <a class="el" href="struct_x_secure___elliptic_sign_addr.html#a9a334b4c6ecc7e9e58de6f48c79d4850">XSecure_EllipticSignAddr::SignS</a>, <a class="el" href="group__xsecure__common__apis.html#gga7aecdb57be4a4242f11ad3e3bebb42e6a56563085e91b2916d8b2597aa5b0518c">XSECURE_ECC_NIST_P192</a>, <a class="el" href="group__xsecure__common__apis.html#gga7aecdb57be4a4242f11ad3e3bebb42e6ada7c82dece1225d698e071b37a709a7b">XSECURE_ECC_NIST_P224</a>, <a class="el" href="group__xsecure__common__apis.html#gga7aecdb57be4a4242f11ad3e3bebb42e6a4887100b873751c7ab11f3c25971da31">XSECURE_ECC_NIST_P256</a>, <a class="el" href="group__xsecure__common__apis.html#gga7aecdb57be4a4242f11ad3e3bebb42e6a96b467bb47305585cbcb31f93d527407">XSECURE_ECC_NIST_P384</a>, <a class="el" href="group__xsecure__common__apis.html#gga7aecdb57be4a4242f11ad3e3bebb42e6a1ac6872da48c5879c457fb9e0590c36b">XSECURE_ECC_NIST_P521</a>, <a class="el" href="group__xsecure__ecdsa__server__apis.html#ga26187a912fd3da2eb9cea5f36b25a709">XSECURE_ECC_P192_SIZE_IN_BYTES</a>, <a class="el" href="group__xsecure__ecdsa__server__apis.html#ga192d103795f91f2cfa9a4b9cca781285">XSECURE_ECC_P224_SIZE_IN_BYTES</a>, <a class="el" href="group__xsecure__ecdsa__server__apis.html#gae3028dc8cdad7058c8a68feca364f6df">XSECURE_ECC_P256_SIZE_IN_BYTES</a>, <a class="el" href="group__xsecure__ecdsa__server__apis.html#ga2a9ae41886d6bd60c8b8a0f896847e58">XSECURE_ECC_P384_SIZE_IN_BYTES</a>, <a class="el" href="group__xsecure__ecdsa__server__apis.html#gad7f0fdd86e7cf849e595e156156b7804">XSECURE_ECC_P521_SIZE_IN_BYTES</a>, <a class="el" href="group__xsecure__error__codes.html#ggacba8dc046b878afa42fdc63ce1dc2574a1920b57d7b0521fbc38a4d34580373f1">XSECURE_ELLIPTIC_KAT_64BIT_SIGN_VERIFY_ERROR</a>, <a class="el" href="group__xsecure__error__codes.html#ggacba8dc046b878afa42fdc63ce1dc2574a47249855d9fdcbc1a72da96ab9d31600">XSECURE_ELLIPTIC_KAT_GENERATE_SIGN_64BIT_ERROR</a>, <a class="el" href="group__xsecure__error__codes.html#ggacba8dc046b878afa42fdc63ce1dc2574a066fa8663fe76a8f96264d4ad8f08a5c">XSECURE_ELLIPTIC_KAT_INVLD_CRV_ERROR</a>, <a class="el" href="group__xsecure__ecdsa__server__apis.html#ga3af7e8a366bb982fa4c0c82be1b37250">XSecure_EllipticGenerateSignature_64Bit()</a>, <a class="el" href="group__xsecure__ecdsa__server__apis.html#ga0bb6ca50d138b482eb9a5d9f18e398d8">XSecure_EllipticVerifySign_64Bit()</a>, and <a class="el" href="group__xsecure__kat__server__apis.html#gaadf5b20ff2b268460f7925bd114b7f1f">XSecure_GetKatEccEphemeralKey()</a>.</p>

</div>
</div>
<a class="anchor" id="ga75b2f22f2f6c3bdb9529025c8ecf58f2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XSecure_EllipticSignGenerateKat </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__xsecure__common__apis.html#gaec6e0642a5377d68c66bc54fb39ad161">XSecure_EllipticCrvClass</a>&#160;</td>
          <td class="paramname"><em>CrvClass</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function performs ECC sign generate known answer test(KAT) on ECC core. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">CrvClass</td><td>Type of ECC curve class either prime or binary class</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS When KAT passes</li>
<li>XSECURE_ELLIPTIC_KAT_INVLD_CRV_ERROR When input is invalid.</li>
<li>XSECURE_ELLIPTIC_KAT_GENERATE_SIGN_ERROR When generate sign fails</li>
<li>XSECURE_ELLIPTIC_KAT_GENERATE_SIGNR_ERROR When SignR is mismatched </li>
</ul>
</dd></dl>
<p>Generates signature for the provided hash and curve type and then perform KAT using that signature.</p>

<p>References <a class="el" href="xsecure__lms_8h.html#ab14788fbc92abcbc0e153a93b1f28cd2">D</a>, <a class="el" href="xsecure__lms__ots_8h.html#a1409f77262465120c3094dcd039e1f32">K</a>, <a class="el" href="struct_x_secure___elliptic_sign.html#a39f9f985b86ee5bbf8f301fca4a004f3">XSecure_EllipticSign::SignR</a>, <a class="el" href="struct_x_secure___elliptic_sign.html#a1378dc1cc131e69d07290a9f3e750a8a">XSecure_EllipticSign::SignS</a>, <a class="el" href="group__xsecure__common__apis.html#gga7aecdb57be4a4242f11ad3e3bebb42e6a96b467bb47305585cbcb31f93d527407">XSECURE_ECC_NIST_P384</a>, <a class="el" href="group__xsecure__ecdsa__server__apis.html#ga2a9ae41886d6bd60c8b8a0f896847e58">XSECURE_ECC_P384_SIZE_IN_BYTES</a>, <a class="el" href="group__xsecure__error__codes.html#ggacba8dc046b878afa42fdc63ce1dc2574a20e294ba5db58bae372aa2379cc88e36">XSECURE_ELLIPTIC_KAT_GENERATE_SIGN_ERROR</a>, <a class="el" href="group__xsecure__error__codes.html#ggacba8dc046b878afa42fdc63ce1dc2574a1f869a60980a557dc4481c9819991ae4">XSECURE_ELLIPTIC_KAT_GENERATE_SIGNR_ERROR</a>, <a class="el" href="group__xsecure__error__codes.html#ggacba8dc046b878afa42fdc63ce1dc2574a066fa8663fe76a8f96264d4ad8f08a5c">XSECURE_ELLIPTIC_KAT_INVLD_CRV_ERROR</a>, <a class="el" href="group__xsecure__ecdsa__server__apis.html#gacfb2a9d041a4b449a47874add5f01547">XSecure_EllipticGenerateSignature()</a>, <a class="el" href="group__xsecure__kat__server__apis.html#gaadf5b20ff2b268460f7925bd114b7f1f">XSecure_GetKatEccEphemeralKey()</a>, <a class="el" href="group__xsecure__kat__server__apis.html#ga769778c653dd202471b5eec4249b1f25">XSecure_GetKatEccExpSign()</a>, and <a class="el" href="group__xsecure__kat__server__apis.html#gae13868848d86bd438b31458a8b3aaad8">XSecure_GetKatEccPrivateKey()</a>.</p>

</div>
</div>
<a class="anchor" id="ga0bc8cabf909b4a457656573b4b701c3a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XSecure_EllipticVerifySignKat </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__xsecure__common__apis.html#gaec6e0642a5377d68c66bc54fb39ad161">XSecure_EllipticCrvClass</a>&#160;</td>
          <td class="paramname"><em>CrvClass</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function performs ECC sign verify known answer test(KAT) on ECC core. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">CrvClass</td><td>Type of ECC curve class either prime or binary curve</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS On success</li>
<li>XSECURE_ELLIPTIC_KAT_KEY_NOTVALID_ERROR When elliptic key is invalid</li>
<li>XSECURE_ELLIPTIC_KAT_INVLD_CRV_ERROR Error when input is invalid</li>
<li>XSECURE_ELLIPTIC_KAT_SIGN_VERIFY_ERROR When signature is invalid </li>
</ul>
</dd></dl>

<p>References <a class="el" href="struct_x_secure___elliptic_key.html#a824bafa48e8262572731b4ae7605e1a4">XSecure_EllipticKey::Qx</a>, <a class="el" href="struct_x_secure___elliptic_key.html#a69be86ac66e9e1051bc7f2249f76f698">XSecure_EllipticKey::Qy</a>, <a class="el" href="struct_x_secure___elliptic_sign.html#a39f9f985b86ee5bbf8f301fca4a004f3">XSecure_EllipticSign::SignR</a>, <a class="el" href="struct_x_secure___elliptic_sign.html#a1378dc1cc131e69d07290a9f3e750a8a">XSecure_EllipticSign::SignS</a>, <a class="el" href="group__xsecure__common__apis.html#gga7aecdb57be4a4242f11ad3e3bebb42e6a96b467bb47305585cbcb31f93d527407">XSECURE_ECC_NIST_P384</a>, <a class="el" href="group__xsecure__error__codes.html#ggacba8dc046b878afa42fdc63ce1dc2574a066fa8663fe76a8f96264d4ad8f08a5c">XSECURE_ELLIPTIC_KAT_INVLD_CRV_ERROR</a>, <a class="el" href="group__xsecure__error__codes.html#ggacba8dc046b878afa42fdc63ce1dc2574a9adf2b4cff92f818b119402175fa6e18">XSECURE_ELLIPTIC_KAT_KEY_NOTVALID_ERROR</a>, <a class="el" href="group__xsecure__error__codes.html#ggacba8dc046b878afa42fdc63ce1dc2574a2a6e023e890291587ad536573579717d">XSECURE_ELLIPTIC_KAT_SIGN_VERIFY_ERROR</a>, <a class="el" href="group__xsecure__ecdsa__client__apis.html#ga4e7f8b3452f7f23b4591cc21f1806b54">XSecure_EllipticValidateKey()</a>, <a class="el" href="group__xsecure__ecdsa__client__apis.html#ga88eea76778dab99a54821e2117a3034e">XSecure_EllipticVerifySign()</a>, <a class="el" href="group__xsecure__kat__server__apis.html#ga769778c653dd202471b5eec4249b1f25">XSecure_GetKatEccExpSign()</a>, and <a class="el" href="group__xsecure__kat__server__apis.html#gaa3ec8efc0badbd66518768e16b2dcc81">XSecure_GetKatEccPublicKey()</a>.</p>

</div>
</div>
<a class="anchor" id="ga9395421a23db181d3caf2e97b3719488"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u8 * XSecure_GetKatAesKey </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function returns AES key for KAT. </p>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>AES key for KAT </li>
</ul>
</dd></dl>

<p>Referenced by <a class="el" href="group__xsecure__kat__server__apis.html#gab8bb729a4444afbdef55ba93e2a06935">XSecure_HmacKat()</a>.</p>

</div>
</div>
<a class="anchor" id="gaadf5b20ff2b268460f7925bd114b7f1f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u8 * XSecure_GetKatEccEphemeralKey </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__xsecure__common__apis.html#ga7aecdb57be4a4242f11ad3e3bebb42e6">XSecure_EllipticCrvTyp</a>&#160;</td>
          <td class="paramname"><em>CrvType</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function returns ECC ephemeral key to perform KAT. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">CrvType</td><td>ECC curve type</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>ECC ephemeral key </li>
</ul>
</dd></dl>

<p>References <a class="el" href="xsecure__lms__ots_8h.html#a1409f77262465120c3094dcd039e1f32">K</a>, <a class="el" href="group__xsecure__common__apis.html#gga7aecdb57be4a4242f11ad3e3bebb42e6a56563085e91b2916d8b2597aa5b0518c">XSECURE_ECC_NIST_P192</a>, <a class="el" href="group__xsecure__common__apis.html#gga7aecdb57be4a4242f11ad3e3bebb42e6ada7c82dece1225d698e071b37a709a7b">XSECURE_ECC_NIST_P224</a>, <a class="el" href="group__xsecure__common__apis.html#gga7aecdb57be4a4242f11ad3e3bebb42e6a4887100b873751c7ab11f3c25971da31">XSECURE_ECC_NIST_P256</a>, <a class="el" href="group__xsecure__common__apis.html#gga7aecdb57be4a4242f11ad3e3bebb42e6a96b467bb47305585cbcb31f93d527407">XSECURE_ECC_NIST_P384</a>, and <a class="el" href="group__xsecure__common__apis.html#gga7aecdb57be4a4242f11ad3e3bebb42e6a1ac6872da48c5879c457fb9e0590c36b">XSECURE_ECC_NIST_P521</a>.</p>

<p>Referenced by <a class="el" href="group__xsecure__kat__server__apis.html#ga7e6af9c7d2a5b9c134f201143b5caaca">XSecure_EllipticPwct()</a>, and <a class="el" href="group__xsecure__kat__server__apis.html#ga75b2f22f2f6c3bdb9529025c8ecf58f2">XSecure_EllipticSignGenerateKat()</a>.</p>

</div>
</div>
<a class="anchor" id="ga769778c653dd202471b5eec4249b1f25"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="struct_x_secure___elliptic_sign.html">XSecure_EllipticSign</a> * XSecure_GetKatEccExpSign </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__xsecure__common__apis.html#gaec6e0642a5377d68c66bc54fb39ad161">XSecure_EllipticCrvClass</a>&#160;</td>
          <td class="paramname"><em>CrvClass</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function returns ECC expected signature to perform KAT. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">CrvClass</td><td>ECC curve class</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>ECC expected signature </li>
</ul>
</dd></dl>

<p>References <a class="el" href="struct_x_secure___elliptic_sign.html#a39f9f985b86ee5bbf8f301fca4a004f3">XSecure_EllipticSign::SignR</a>, <a class="el" href="struct_x_secure___elliptic_sign.html#a1378dc1cc131e69d07290a9f3e750a8a">XSecure_EllipticSign::SignS</a>, <a class="el" href="group__xsecure__ecdsa__server__apis.html#ga2a9ae41886d6bd60c8b8a0f896847e58">XSECURE_ECC_P384_SIZE_IN_BYTES</a>, and <a class="el" href="group__xsecure__common__apis.html#gga678d756780f5569d245a8fe5fe7606c7adf2a9a341dbbedc713c8b4a9241c0259">XSECURE_ECC_PRIME</a>.</p>

<p>Referenced by <a class="el" href="group__xsecure__kat__server__apis.html#ga75b2f22f2f6c3bdb9529025c8ecf58f2">XSecure_EllipticSignGenerateKat()</a>, and <a class="el" href="group__xsecure__kat__server__apis.html#ga0bc8cabf909b4a457656573b4b701c3a">XSecure_EllipticVerifySignKat()</a>.</p>

</div>
</div>
<a class="anchor" id="gae13868848d86bd438b31458a8b3aaad8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u8 * XSecure_GetKatEccPrivateKey </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__xsecure__common__apis.html#gaec6e0642a5377d68c66bc54fb39ad161">XSecure_EllipticCrvClass</a>&#160;</td>
          <td class="paramname"><em>CrvClass</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function returns ECC private key to perform KAT. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">CrvClass</td><td>ECC curve class</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>ECC private key </li>
</ul>
</dd></dl>

<p>References <a class="el" href="xsecure__lms_8h.html#ab14788fbc92abcbc0e153a93b1f28cd2">D</a>, and <a class="el" href="group__xsecure__common__apis.html#gga678d756780f5569d245a8fe5fe7606c7adf2a9a341dbbedc713c8b4a9241c0259">XSECURE_ECC_PRIME</a>.</p>

<p>Referenced by <a class="el" href="group__xsecure__kat__server__apis.html#ga75b2f22f2f6c3bdb9529025c8ecf58f2">XSecure_EllipticSignGenerateKat()</a>.</p>

</div>
</div>
<a class="anchor" id="gaa3ec8efc0badbd66518768e16b2dcc81"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="struct_x_secure___elliptic_key.html">XSecure_EllipticKey</a> * XSecure_GetKatEccPublicKey </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__xsecure__common__apis.html#gaec6e0642a5377d68c66bc54fb39ad161">XSecure_EllipticCrvClass</a>&#160;</td>
          <td class="paramname"><em>CrvClass</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function returns ECC public key to perform KAT. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">CrvClass</td><td>ECC curve class</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>ECC public key </li>
</ul>
</dd></dl>

<p>References <a class="el" href="struct_x_secure___elliptic_key.html#a824bafa48e8262572731b4ae7605e1a4">XSecure_EllipticKey::Qx</a>, <a class="el" href="struct_x_secure___elliptic_key.html#a69be86ac66e9e1051bc7f2249f76f698">XSecure_EllipticKey::Qy</a>, <a class="el" href="group__xsecure__ecdsa__server__apis.html#ga2a9ae41886d6bd60c8b8a0f896847e58">XSECURE_ECC_P384_SIZE_IN_BYTES</a>, and <a class="el" href="group__xsecure__common__apis.html#gga678d756780f5569d245a8fe5fe7606c7adf2a9a341dbbedc713c8b4a9241c0259">XSECURE_ECC_PRIME</a>.</p>

<p>Referenced by <a class="el" href="group__xsecure__kat__server__apis.html#ga0bc8cabf909b4a457656573b4b701c3a">XSecure_EllipticVerifySignKat()</a>.</p>

</div>
</div>
<a class="anchor" id="ga8df0f1f6e52ec26041e750769de1130c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u8 * XSecure_GetKatMessage </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function returns message to perform KAT. </p>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>Message to perform KAT </li>
</ul>
</dd></dl>

<p>Referenced by <a class="el" href="group__xsecure__kat__server__apis.html#ga0567b89c7436b6925d6f64ef15b628e0">XSecure_AesDecryptKat()</a>, <a class="el" href="group__xsecure__kat__server__apis.html#gafe625810c2509e3d9b490d63c3861807">XSecure_AesEncryptKat()</a>, <a class="el" href="group__xsecure__kat__server__apis.html#gab8bb729a4444afbdef55ba93e2a06935">XSecure_HmacKat()</a>, <a class="el" href="group__xsecure__kat__server__apis.html#gaeef1675ed072c8187d88b630df7204c3">XSecure_RsaPwct()</a>, and <a class="el" href="group__xsecure__kat__server__apis.html#gabcd23e63d210e5c19bc9d4eeedac8dec">XSecure_Sha384Kat()</a>.</p>

</div>
</div>
<a class="anchor" id="gafd22599a22bb980e1a40ce887009f4ae"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 * XSecure_GetKatRsaCtData </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function returns cipher text data for RSA KAT. </p>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>Expected cipher text for RSA KAT </li>
</ul>
</dd></dl>

<p>Referenced by <a class="el" href="group__xsecure__kat__server__apis.html#gaff9e6accc6dbd6922eda1a4d2322fdf6">XSecure_RsaPrivateDecryptKat()</a>.</p>

</div>
</div>
<a class="anchor" id="gaaa0efb9c372ffa755b176a70542185b7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 * XSecure_GetKatRsaData </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function returns data for RSA KAT. </p>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>Input data to be encrypted for RSA KAT </li>
</ul>
</dd></dl>

<p>Referenced by <a class="el" href="group__xsecure__kat__server__apis.html#gaff9e6accc6dbd6922eda1a4d2322fdf6">XSecure_RsaPrivateDecryptKat()</a>.</p>

</div>
</div>
<a class="anchor" id="gaf2687288c96705bea3af82209403ad60"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 * XSecure_GetKatRsaModExt </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function returns public pre-calculated exponential (R^2 Mod N) value for RSA KAT. </p>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>RSA pre-calculated exponential (R^2 Mod N) value for KAT </li>
</ul>
</dd></dl>

<p>Referenced by <a class="el" href="group__xsecure__kat__server__apis.html#gaff9e6accc6dbd6922eda1a4d2322fdf6">XSecure_RsaPrivateDecryptKat()</a>.</p>

</div>
</div>
<a class="anchor" id="gaad1c6cd684bcf2c3dc968a1faf83ae9a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 * XSecure_GetKatRsaModulus </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function returns modulus for RSA KAT. </p>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>RSA modulus for KAT </li>
</ul>
</dd></dl>

<p>Referenced by <a class="el" href="group__xsecure__kat__server__apis.html#gaff9e6accc6dbd6922eda1a4d2322fdf6">XSecure_RsaPrivateDecryptKat()</a>.</p>

</div>
</div>
<a class="anchor" id="gacd534322345d34248772d23a4ab90c7f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 * XSecure_GetKatRsaPrivateExp </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function returns private exponent for RSA KAT. </p>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>RSA private exponent for KAT </li>
</ul>
</dd></dl>

<p>References <a class="el" href="group__xsecure__rsa__server__apis.html#gab5e03185e5083dafd48c34ec3860f13b">XSECURE_RSA_2048_SIZE_WORDS</a>.</p>

<p>Referenced by <a class="el" href="group__xsecure__kat__server__apis.html#gaff9e6accc6dbd6922eda1a4d2322fdf6">XSecure_RsaPrivateDecryptKat()</a>.</p>

</div>
</div>
<a class="anchor" id="gad9280d66ddaba2c7c18fadf7ae7e7855"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u8 * XSecure_GetKatSha3ExpHash </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function returns expected SHA3 hash for KAT. </p>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>Expected SHA3 hash for KAT </li>
</ul>
</dd></dl>

</div>
</div>
<a class="anchor" id="gab8bb729a4444afbdef55ba93e2a06935"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XSecure_HmacKat </td>
          <td>(</td>
          <td class="paramtype">XSecure_Sha *&#160;</td>
          <td class="paramname"><em>SecureSha</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function performs KAT on HMAC (SHA3-384). </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">SecureSha3</td><td>Pointer to SHA3 instance</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS On success</li>
<li>XSECURE_HMAC_KAT_INIT_ERROR If HMAC init fails</li>
<li>XSECURE_HMAC_KAT_UPDATE_ERROR If HMAC update fails</li>
<li>XSECURE_HMAC_KAT_FINAL_ERROR If HMAC final fails</li>
<li>XSECURE_HMAC_KAT_ERROR If HMAC KAT fails </li>
</ul>
</dd></dl>

<p>References <a class="el" href="group__xsecure__kat__server__apis.html#ga9395421a23db181d3caf2e97b3719488">XSecure_GetKatAesKey()</a>, <a class="el" href="group__xsecure__kat__server__apis.html#ga8df0f1f6e52ec26041e750769de1130c">XSecure_GetKatMessage()</a>, <a class="el" href="group__xsecure__error__codes.html#ggacba8dc046b878afa42fdc63ce1dc2574a23cf519a14b69aa645cb5e2dc78836c6">XSECURE_HMAC_KAT_ERROR</a>, <a class="el" href="group__xsecure__error__codes.html#ggacba8dc046b878afa42fdc63ce1dc2574af195127c461e538be3a41a5d615343a3">XSECURE_HMAC_KAT_FINAL_ERROR</a>, <a class="el" href="group__xsecure__error__codes.html#ggacba8dc046b878afa42fdc63ce1dc2574a9ed54c54b6f00cded2d67f342d208ec9">XSECURE_HMAC_KAT_INIT_ERROR</a>, <a class="el" href="group__xsecure__error__codes.html#ggacba8dc046b878afa42fdc63ce1dc2574a06f726e5040aee1e0666a2480ab73a03">XSECURE_HMAC_KAT_UPDATE_ERROR</a>, <a class="el" href="group__xsecure__hmac__apis.html#ga19b58a827d01b838233e4b98fb95b0f7">XSecure_HmacFinal()</a>, <a class="el" href="group__xsecure__hmac__apis.html#ga326185e9709790ef9dc6d0eb61da6ab9">XSecure_HmacInit()</a>, <a class="el" href="group__xsecure__hmac__apis.html#gaec1f83f5e69e2ba5d879cd97eab498eb">XSecure_HmacUpdate()</a>, <a class="el" href="group__xsecure__kat__server__apis.html#ga8e5924ae95e0c0dc230150bd6a07d688">XSECURE_KAT_KEY_SIZE_IN_BYTES</a>, and <a class="el" href="group__xsecure__kat__server__apis.html#ga62a7fc37111b22311ea7d993de67c059">XSECURE_KAT_MSG_LEN_IN_BYTES</a>.</p>

</div>
</div>
<a class="anchor" id="gacd410c8890a3160304bf000bf0af2031"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XSecure_HssSha2256Kat </td>
          <td>(</td>
          <td class="paramtype">XSecure_Sha *&#160;</td>
          <td class="paramname"><em>ShaInstPtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">XPmcDma *&#160;</td>
          <td class="paramname"><em>DmaPtr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function performs KAT on HSS SHA2 256. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ShaInstPtr</td><td>Pointer to the XSecure_Sha instance </td></tr>
    <tr><td class="paramname">DmaPtr</td><td>Pointer to the XPmcDma instance</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS - If HSS SHA2 256 KAT is passed.</li>
<li>XSECURE_HSS_SHA2_256_KAT_ERROR - HSS SHA2-256 KAT error </li>
</ul>
</dd></dl>

<p>References <a class="el" href="group___l_m_s.html#ga46fcdbeb8c2bcadbe7d087915c3eefd3">XSECURE_HSS_PUBLIC_KEY_TOTAL_SIZE</a>, <a class="el" href="group__xsecure__error__codes.html#ggacba8dc046b878afa42fdc63ce1dc2574ae995a859caa5d4254b2f946cc218977c">XSECURE_HSS_SHA2_256_KAT_ERROR</a>, <a class="el" href="xsecure__lms__core_8c.html#a112da8c38a140d02852bd8f93ab78e2f">XSecure_HssFinish()</a>, <a class="el" href="xsecure__lms__core_8c.html#a981b22fbc50d9cd6f91c16604754f078">XSecure_HssInit()</a>, and <a class="el" href="xsecure__lms__core_8c.html#a20f145ad946cac0682c7428afe35dc8f">XSecure_LmsHashMessage()</a>.</p>

</div>
</div>
<a class="anchor" id="ga75f8f635a7d2a99f8b2011b8365a7c46"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XSecure_HssShake256Kat </td>
          <td>(</td>
          <td class="paramtype">XSecure_Sha *&#160;</td>
          <td class="paramname"><em>ShaInstPtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">XPmcDma *&#160;</td>
          <td class="paramname"><em>DmaPtr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function performs KAT on HSS SHAKE 256. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ShaInstPtr</td><td>Pointer to the XSecure_Sha instance </td></tr>
    <tr><td class="paramname">DmaPtr</td><td>Pointer to the XPmcDma instance</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS - If HSS SHAKE256 KAT is passed.</li>
<li>XSECURE_HSS_SHAKE_256_KAT_ERROR - HSS SHAKE 256 KAT error </li>
</ul>
</dd></dl>

<p>References <a class="el" href="group___l_m_s.html#ga46fcdbeb8c2bcadbe7d087915c3eefd3">XSECURE_HSS_PUBLIC_KEY_TOTAL_SIZE</a>, <a class="el" href="group__xsecure__error__codes.html#ggacba8dc046b878afa42fdc63ce1dc2574a810dfc75af03528f725bd8639eac678b">XSECURE_HSS_SHAKE_256_KAT_ERROR</a>, <a class="el" href="xsecure__lms__core_8c.html#a112da8c38a140d02852bd8f93ab78e2f">XSecure_HssFinish()</a>, <a class="el" href="xsecure__lms__core_8c.html#a981b22fbc50d9cd6f91c16604754f078">XSecure_HssInit()</a>, <a class="el" href="xsecure__lms__core_8c.html#a20f145ad946cac0682c7428afe35dc8f">XSecure_LmsHashMessage()</a>, and <a class="el" href="group__xsecure__sha__example__apis.html#gad83e90d954ca31ac3d9cc687321cdb2d">XSECURE_SHAKE_256</a>.</p>

</div>
</div>
<a class="anchor" id="ga693f088bbeaa2be1dd7a084c2bee6351"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XSecure_KatIpiHandler </td>
          <td>(</td>
          <td class="paramtype">XPlmi_Cmd *&#160;</td>
          <td class="paramname"><em>Cmd</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function calls respective IPI handler based on the API_ID. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">Cmd</td><td>is pointer to the command structure</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS If the handler execution is successful</li>
<li>XST_INVALID_PARAM If Cmd is NULL or invalid API ID is received.</li>
<li>XST_FAILURE If there is a failure </li>
</ul>
</dd></dl>
<p>Call the respective API handler according to API ID</p>
<ul>
<li>XSecure_AesDecKat</li>
<li>XSecure_AesDecCmKat</li>
<li>XSecure_AesEncKat</li>
<li>XSecure_RsaPubEncKat</li>
<li><a class="el" href="group__xsecure__kat__client__apis.html#gaec9500ffdf3138f3e71404a3bd955972">XSecure_RsaPrivateDecKat</a></li>
<li><a class="el" href="group__xsecure__kat__client__apis.html#gaf5996378299f1f95c9a13592febad58a">XSecure_EllipticSignVerifyKat</a></li>
<li><a class="el" href="group__xsecure__kat__client__apis.html#ga5e9df7a4b6b28b1827cf11be03a97e0d">XSecure_EllipticSignGenKat</a></li>
<li>XSecure_ShaKat</li>
</ul>
<p>SHA IPI event handling </p>

<p>References <a class="el" href="group__xsecure__common__apis.html#ga2f4a1a99096821d10b0719a4ded431d5">XSECURE_API</a>, <a class="el" href="group__xsecure__common__apis.html#gga37319402ed20263002a96ca04d74394ea2f5dbd303625fc2c0ef8b295c9b3b992">XSECURE_API_AES_DECRYPT_CM_KAT</a>, <a class="el" href="group__xsecure__common__apis.html#gga37319402ed20263002a96ca04d74394eac036db8b4c037ab3955b93d62513fb6b">XSECURE_API_AES_DECRYPT_KAT</a>, <a class="el" href="group__xsecure__common__apis.html#gga37319402ed20263002a96ca04d74394eab33a5806407cf829f203f5fb0af1a806">XSECURE_API_AES_ENCRYPT_KAT</a>, <a class="el" href="group__xsecure__common__apis.html#gga37319402ed20263002a96ca04d74394ea0b59fb6da09265ead7ce0c53fed06d95">XSECURE_API_ELLIPTIC_SIGN_GEN_KAT</a>, <a class="el" href="group__xsecure__common__apis.html#gga37319402ed20263002a96ca04d74394ea743c67d281e7028a0a68c3d988db9801">XSECURE_API_ELLIPTIC_SIGN_VERIFY_KAT</a>, <a class="el" href="group__xsecure__common__apis.html#gaa2f27ea2d621bbdeda76bad8109eb77b">XSECURE_API_ID_MASK</a>, <a class="el" href="group__xsecure__common__apis.html#gga37319402ed20263002a96ca04d74394ea7157637ce5e02761c76b740352140f97">XSECURE_API_RSA_PRIVATE_DEC_KAT</a>, <a class="el" href="group__xsecure__common__apis.html#gga37319402ed20263002a96ca04d74394ead4e0f42ca445468c1534a1e2a23a3099">XSECURE_API_RSA_PUB_ENC_KAT</a>, <a class="el" href="group__xsecure__common__apis.html#gga37319402ed20263002a96ca04d74394eaa93a792a36e46e604483c25f4fbc877e">XSECURE_API_SHA3_KAT</a>, <a class="el" href="group__xsecure__kat__client__apis.html#ga5e9df7a4b6b28b1827cf11be03a97e0d">XSecure_EllipticSignGenKat()</a>, <a class="el" href="group__xsecure__kat__client__apis.html#gaf5996378299f1f95c9a13592febad58a">XSecure_EllipticSignVerifyKat()</a>, <a class="el" href="group__xsecure__generic__server__apis.html#ga11d8bbf7423a10f98cbcfd4796ea6d6a">XSecure_GetAesInstance()</a>, <a class="el" href="group__xsecure__generic__server__apis.html#gaae2c6ce911d390c5176b5b4b7ff5a4fb">XSecure_GetSha3Instance()</a>, <a class="el" href="group__xsecure__generic__server__apis.html#ga888b5fb720349f4766f1a6b45f318520">XSecure_IpiEventHandling()</a>, <a class="el" href="group__xsecure__generic__server__apis.html#gace2c73e5d80dd85a226551b02e396cc0">XSecure_MakeResFree()</a>, <a class="el" href="group__xsecure__common__apis.html#ga693c54d224d1fa8ca68b215023b2b359">XSecure_Printf</a>, and <a class="el" href="group__xsecure__kat__client__apis.html#gaec9500ffdf3138f3e71404a3bd955972">XSecure_RsaPrivateDecKat()</a>.</p>

<p>Referenced by <a class="el" href="group__xsecure__kat__server__apis.html#gaf7cb17f01c5c5542c9c2b3d6f00699d3">XSecure_KatPlatIpiHandler()</a>.</p>

</div>
</div>
<a class="anchor" id="gaf7cb17f01c5c5542c9c2b3d6f00699d3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XSecure_KatPlatIpiHandler </td>
          <td>(</td>
          <td class="paramtype">XPlmi_Cmd *&#160;</td>
          <td class="paramname"><em>Cmd</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function calls respective IPI handler based on the API_ID. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">Cmd</td><td>is pointer to the command structure</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS If the handler execution is successful</li>
<li>XST_INVALID_PARAM If any input parameter is invalid</li>
<li>XST_FAILURE If there is a failure </li>
</ul>
</dd></dl>
<ul>
<li>XSecure_ShaKat</li>
</ul>
<p>SHA IPI event handling </p>

<p>References <a class="el" href="group__xsecure__common__apis.html#ga2f4a1a99096821d10b0719a4ded431d5">XSECURE_API</a>, <a class="el" href="group__xsecure__common__apis.html#gaa2f27ea2d621bbdeda76bad8109eb77b">XSECURE_API_ID_MASK</a>, <a class="el" href="group__xsecure__common__apis.html#gga37319402ed20263002a96ca04d74394ea50a09b1c94b5825c3eaab53ae9b8da00">XSECURE_API_SHA2_KAT</a>, <a class="el" href="group__xsecure__common__apis.html#gga37319402ed20263002a96ca04d74394eab2a35ee2e4ab05e7234c2bdc76fc37f6">XSECURE_API_TRNG_KAT</a>, <a class="el" href="group__xsecure__generic__server__apis.html#gac9c421c34d99194009679bdb4cf888ca">XSecure_GetSha2Instance()</a>, <a class="el" href="group__xsecure__generic__server__apis.html#ga888b5fb720349f4766f1a6b45f318520">XSecure_IpiEventHandling()</a>, <a class="el" href="group__xsecure__kat__server__apis.html#ga693f088bbeaa2be1dd7a084c2bee6351">XSecure_KatIpiHandler()</a>, <a class="el" href="group__xsecure__generic__server__apis.html#gace2c73e5d80dd85a226551b02e396cc0">XSecure_MakeResFree()</a>, and <a class="el" href="group__xsecure__kat__client__apis.html#ga7b74e15ff3cab4a891179ef46efe576f">XSecure_TrngKat()</a>.</p>

</div>
</div>
<a class="anchor" id="gad7b08bfc183e838bb6d65a94b96ea218"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XSecure_LmsSha2256Kat </td>
          <td>(</td>
          <td class="paramtype">XSecure_Sha *&#160;</td>
          <td class="paramname"><em>ShaInstPtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">XPmcDma *&#160;</td>
          <td class="paramname"><em>DmaPtr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function performs KAT on LMS - SHA2 256. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ShaInstPtr</td><td>Pointer to the XSecure_Sha instance </td></tr>
    <tr><td class="paramname">DmaPtr</td><td>Pointer to the XPmcDma instance</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS - If LMS SHA2 256 KAT is passed.</li>
<li>ErrorCode - Upon failure. </li>
</ul>
</dd></dl>

<p>References <a class="el" href="xsecure__lms__core_8c.html#a6b50f9fb052dd231c50ea15138f17ff7">XSecure_LmsSignatureVerification()</a>.</p>

</div>
</div>
<a class="anchor" id="gafc77ae5d3ebc5c665ee997c554612390"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XSecure_LmsShake256Kat </td>
          <td>(</td>
          <td class="paramtype">XSecure_Sha *&#160;</td>
          <td class="paramname"><em>ShaInstPtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">XPmcDma *&#160;</td>
          <td class="paramname"><em>DmaPtr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function performs KAT on LMS SHAKE 256. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ShaInstPtr</td><td>Pointer to the XSecure_Sha instance </td></tr>
    <tr><td class="paramname">DmaPtr</td><td>Pointer to the XPmcDma instance</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS - If LMS SHAKE256 KAT is passed.</li>
<li>ErrorCode - Upon failure. </li>
</ul>
</dd></dl>

<p>References <a class="el" href="xsecure__lms__core_8c.html#a6b50f9fb052dd231c50ea15138f17ff7">XSecure_LmsSignatureVerification()</a>.</p>

</div>
</div>
<a class="anchor" id="gaff9e6accc6dbd6922eda1a4d2322fdf6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XSecure_RsaPrivateDecryptKat </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function performs private decrypt KAT on RSA core. </p>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS On success</li>
<li>XSECURE_RSA_KAT_INIT_ERROR When RSA initialization fails</li>
<li>XSECURE_RSA_KAT_DECRYPT_FAILED_ERROR When RSA KAT fails</li>
<li>XSECURE_RSA_KAT_DECRYPT_DATA_MISMATCH_ERROR Error when RSA data not matched with expected data</li>
</ul>
</dd>
<dd>
<ul>
<li>XST_SUCCESS On success</li>
<li>XSECURE_RSA_KAT_DECRYPT_DATA_MISMATCH_ERROR Error when RSA data not matched with expected data</li>
<li>XST_FAILURE On failure </li>
</ul>
</dd></dl>
<p>Initialize RSA</p>
<p>Perform RSA private decrypt operation</p>
<p>Validate the decrypted data with the expected data provided </p>

<p>References <a class="el" href="group__xsecure__kat__server__apis.html#gafd22599a22bb980e1a40ce887009f4ae">XSecure_GetKatRsaCtData()</a>, <a class="el" href="group__xsecure__kat__server__apis.html#gaaa0efb9c372ffa755b176a70542185b7">XSecure_GetKatRsaData()</a>, <a class="el" href="group__xsecure__kat__server__apis.html#gaf2687288c96705bea3af82209403ad60">XSecure_GetKatRsaModExt()</a>, <a class="el" href="group__xsecure__kat__server__apis.html#gaad1c6cd684bcf2c3dc968a1faf83ae9a">XSecure_GetKatRsaModulus()</a>, <a class="el" href="group__xsecure__kat__server__apis.html#gacd534322345d34248772d23a4ab90c7f">XSecure_GetKatRsaPrivateExp()</a>, <a class="el" href="group__xsecure__rsa__server__apis.html#ga07736a55ec2f9d8242a46ee20fc9f7b6">XSECURE_RSA_2048_KEY_SIZE</a>, <a class="el" href="group__xsecure__rsa__server__apis.html#gab5e03185e5083dafd48c34ec3860f13b">XSECURE_RSA_2048_SIZE_WORDS</a>, <a class="el" href="group__xsecure__error__codes.html#ggacba8dc046b878afa42fdc63ce1dc2574a41e6a9e86d996466ce74d60731391667">XSECURE_RSA_KAT_DECRYPT_DATA_MISMATCH_ERROR</a>, <a class="el" href="group__xsecure__error__codes.html#ggacba8dc046b878afa42fdc63ce1dc2574a5eef968db9a687f91dcf03b3537b80b5">XSECURE_RSA_KAT_DECRYPT_FAILED_ERROR</a>, <a class="el" href="group__xsecure__error__codes.html#ggacba8dc046b878afa42fdc63ce1dc2574aa13a02cf9d65a08b8ec52bd4c5cb2b64">XSECURE_RSA_KAT_ENCRYPT_DATA_MISMATCH_ERROR</a>, <a class="el" href="group__xsecure__error__codes.html#ggacba8dc046b878afa42fdc63ce1dc2574ab87a3fd0817231d03954d02329f3a570">XSECURE_RSA_KAT_INIT_ERROR</a>, <a class="el" href="group__xsecure__rsa__server__apis.html#ga097e8ed2f4933286ea5ef93210572b6b">XSecure_RsaInitialize()</a>, and <a class="el" href="group__xsecure__rsa__client__apis.html#gaad026ed28e47be9b59e0444deb3af85a">XSecure_RsaPrivateDecrypt()</a>.</p>

</div>
</div>
<a class="anchor" id="gac4ab51058f2ef18bcb5a1aedf95b83d8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XSecure_RsaPublicEncryptKat </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function performs KAT on RSA core. </p>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS On success</li>
<li>XSECURE_RSA_KAT_INIT_ERROR Error when RSA init fails</li>
<li>XSECURE_RSA_KAT_ENCRYPT_FAILED_ERROR When RSA KAT fails</li>
<li>XSECURE_RSA_KAT_ENCRYPT_DATA_MISMATCH_ERROR Error when RSA data not matched with expected data </li>
</ul>
</dd></dl>
<p>Initialize the RSA instance</p>
<p>Perform the public encrypt operation</p>
<p>Validate the encrypted data with the expected data provided </p>

<p>References <a class="el" href="group__xsecure__kat__server__apis.html#ga39a9083040eed4679786b8dc1646b973">XSECURE_KAT_RSA_PUB_EXP</a>, <a class="el" href="group__xsecure__rsa__server__apis.html#ga07736a55ec2f9d8242a46ee20fc9f7b6">XSECURE_RSA_2048_KEY_SIZE</a>, <a class="el" href="group__xsecure__rsa__server__apis.html#gab5e03185e5083dafd48c34ec3860f13b">XSECURE_RSA_2048_SIZE_WORDS</a>, <a class="el" href="group__xsecure__error__codes.html#ggacba8dc046b878afa42fdc63ce1dc2574aa13a02cf9d65a08b8ec52bd4c5cb2b64">XSECURE_RSA_KAT_ENCRYPT_DATA_MISMATCH_ERROR</a>, <a class="el" href="group__xsecure__error__codes.html#ggacba8dc046b878afa42fdc63ce1dc2574a62538607e3ee4401d1620c6890c2db4f">XSECURE_RSA_KAT_ENCRYPT_FAILED_ERROR</a>, <a class="el" href="group__xsecure__error__codes.html#ggacba8dc046b878afa42fdc63ce1dc2574ab87a3fd0817231d03954d02329f3a570">XSECURE_RSA_KAT_INIT_ERROR</a>, <a class="el" href="group__xsecure__rsa__server__apis.html#ga097e8ed2f4933286ea5ef93210572b6b">XSecure_RsaInitialize()</a>, and <a class="el" href="group__xsecure__rsa__client__apis.html#gaf2a6250efae11b0bdbfe22e6642dedf4">XSecure_RsaPublicEncrypt()</a>.</p>

</div>
</div>
<a class="anchor" id="gaeef1675ed072c8187d88b630df7204c3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XSecure_RsaPwct </td>
          <td>(</td>
          <td class="paramtype">XSecure_RsaPrivKey *&#160;</td>
          <td class="paramname"><em>PrivKey</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">XSecure_RsaPubKey *&#160;</td>
          <td class="paramname"><em>PubKey</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>ShaInstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">XSecure_ShaMode&#160;</td>
          <td class="paramname"><em>Shatype</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function performs pairwise consistency test for generated RSA key pair using OAEP encrypt and decrypt operation. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">PrivKey</td><td>Pointer to the <a class="el" href="struct_x_secure___rsa_key.html" title="Input parameters pointers for RSA. ">XSecure_RsaKey</a> </td></tr>
    <tr><td class="paramname">PubKey</td><td>Pointer to the XSecure_RsaPubKey </td></tr>
    <tr><td class="paramname">ShaInstancePtr</td><td>Pointer to the SHA instance used during OAEP encoding for MGF </td></tr>
    <tr><td class="paramname">Shatype</td><td>is SHA algorithm type used for MGF</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS On Success</li>
<li>XST_INVALID_PARAM If any input parameter is invalid</li>
<li>XSECURE_RSA_PWCT_MEM_CMP_FAILED_ERROR If RSA pwct comparison fails</li>
<li>XST_FAILURE On Failure </li>
</ul>
</dd></dl>

<p>References <a class="el" href="struct_x_secure___rsa_oaep_param.html#aec83801a64f9afa4244ceb8900611946">XSecure_RsaOaepParam::InputDataAddr</a>, <a class="el" href="struct_x_secure___rsa_oaep_param.html#abdedfcfe1370c2f75622c5af01166bcf">XSecure_RsaOaepParam::InputDataSize</a>, <a class="el" href="struct_x_secure___rsa.html#a025de108e57abdfadb4964fac57a0a9f">XSecure_Rsa::Mod</a>, <a class="el" href="struct_x_secure___rsa_oaep_param.html#aa512ea4ccd203ba5598c4de743b12d79">XSecure_RsaOaepParam::OutputDataAddr</a>, <a class="el" href="struct_x_secure___rsa_oaep_param.html#abc732af71d66ec9a66a84abf44c52749">XSecure_RsaOaepParam::OutputDataSize</a>, <a class="el" href="struct_x_secure___rsa_oaep_param.html#af3ada34163356c6f6dabaf1217119829">XSecure_RsaOaepParam::ShaInstancePtr</a>, <a class="el" href="struct_x_secure___rsa_oaep_param.html#a08d92ae0a9bc81faf738335de219ee13">XSecure_RsaOaepParam::ShaType</a>, <a class="el" href="group__xsecure__kat__server__apis.html#ga8df0f1f6e52ec26041e750769de1130c">XSecure_GetKatMessage()</a>, <a class="el" href="group__xsecure__kat__server__apis.html#ga62a7fc37111b22311ea7d993de67c059">XSECURE_KAT_MSG_LEN_IN_BYTES</a>, <a class="el" href="group__xsecure__rsa__server__apis.html#gaef98b03d932368574ec1123184b9a9e4">XSECURE_RSA_KEY_GEN_SIZE_IN_BYTES</a>, <a class="el" href="group__xsecure__rsa__server__apis.html#gac68769cb4d2f865843c2e77b2b5c3fbd">XSECURE_RSA_PUB_EXP_SIZE</a>, <a class="el" href="group__xsecure__error__codes.html#ggacba8dc046b878afa42fdc63ce1dc2574ae6dfa47c61070fb69f0ad45665dec64b">XSECURE_RSA_PWCT_MEM_CMP_FAILED_ERROR</a>, <a class="el" href="group__xsecure__rsa__server__apis.html#ga097e8ed2f4933286ea5ef93210572b6b">XSecure_RsaInitialize()</a>, <a class="el" href="group__xsecure__rsa__server__apis.html#ga7fe869dab6a634c2866f9ec26ee8cec0">XSecure_RsaOaepDecrypt()</a>, and <a class="el" href="group__xsecure__rsa__server__apis.html#gab519747faf9ccf8e016d20e5713838c9">XSecure_RsaOaepEncrypt()</a>.</p>

</div>
</div>
<a class="anchor" id="gad5b378b529d087505726876fcf3e8b79"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XSecure_Sha2256Kat </td>
          <td>(</td>
          <td class="paramtype">XSecure_Sha *&#160;</td>
          <td class="paramname"><em>SecureSha2</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function performs known answer test(KAT) on SHA-2 crypto engine. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">SecureSha2</td><td>Pointer to the XSecure_Sha instance</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS On success.</li>
<li>XST_FAILURE On KAT failure. </li>
</ul>
</dd></dl>

<p>References <a class="el" href="group__xsecure__generic__server__apis.html#ga7d9385d1d7121998a9be90e90d3a8f7b">XSecure_SetReset()</a>, and <a class="el" href="group__xsecure__helper__server__apis.html#ga5738537e51cc4a10f5753b092955c4b0">XSECURE_SHA2_256_HASH_LEN</a>.</p>

</div>
</div>
<a class="anchor" id="gabcd23e63d210e5c19bc9d4eeedac8dec"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XSecure_Sha384Kat </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function performs KAT on SHA-384. </p>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS On success</li>
<li>XSECURE_SHA384_KAT_ERROR If SHA384 KAT fails</li>
<li>XST_FAILURE On failure </li>
</ul>
</dd></dl>

<p>References <a class="el" href="group__xsecure__kat__server__apis.html#ga8df0f1f6e52ec26041e750769de1130c">XSecure_GetKatMessage()</a>, <a class="el" href="group__xsecure__kat__server__apis.html#ga62a7fc37111b22311ea7d993de67c059">XSECURE_KAT_MSG_LEN_IN_BYTES</a>, and <a class="el" href="group__xsecure__error__codes.html#ggacba8dc046b878afa42fdc63ce1dc2574abf8783a31e8b5df838dd13a3fef5c871">XSECURE_SHA384_KAT_ERROR</a>.</p>

</div>
</div>
<a class="anchor" id="ga56962fc3f5090340f69a4fa56ef264ad"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XSecure_Sha3Kat </td>
          <td>(</td>
          <td class="paramtype">XSecure_Sha3 *&#160;</td>
          <td class="paramname"><em>SecureSha3</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function performs known answer test(KAT) on SHA crypto engine. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">SecureSha3</td><td>Pointer to the XSecure_Sha3 instance</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS When KAT Pass</li>
<li>XSECURE_SHA3_INVALID_PARAM On invalid argument</li>
<li>XSECURE_SHA3_KAT_BUSY Error when SHA3 is busy</li>
<li>XSECURE_SHA3_LAST_UPDATE_ERROR Error when SHA3 last update fails</li>
<li>XSECURE_SHA3_KAT_FAILED_ERROR Error when SHA3 hash not matched with expected hash</li>
<li>XSECURE_SHA3_PMC_DMA_UPDATE_ERROR Error when DMA driver fails to update the data to SHA3</li>
<li>XSECURE_SHA3_FINISH_ERROR Error when SHA3 finish fails </li>
</ul>
</dd></dl>
<p>Configure SSS and start SHA-3 engine</p>
<p>Update SHA3 engine with input data</p>
<p>Update SHA3 engine with padded data if required and reads the hash</p>
<p>Validate the generated hash with the provided expected hash </p>

<p>References <a class="el" href="group__xsecure__kat__server__apis.html#ga62a7fc37111b22311ea7d993de67c059">XSECURE_KAT_MSG_LEN_IN_BYTES</a>, <a class="el" href="group__xsecure__generic__server__apis.html#ga7d9385d1d7121998a9be90e90d3a8f7b">XSecure_SetReset()</a>, <a class="el" href="group__xsecure__error__codes.html#ggacba8dc046b878afa42fdc63ce1dc2574ab823294234472b6d0532a371b8d50cf9">XSECURE_SHA3_KAT_BUSY</a>, and <a class="el" href="xsecure_8c.html#adfb02b0d0129acbfe8a8d6a293a7285f">XSecure_Sha3Hash()</a>.</p>

</div>
</div>
<a class="anchor" id="ga8e446a6cf529f6a697035b0643c22c1b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XSecure_ShakeKat </td>
          <td>(</td>
          <td class="paramtype">XSecure_Sha *&#160;</td>
          <td class="paramname"><em>SecureShake</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function performs known answer test(KAT) on SHAKE crypto engine. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">SecureShake</td><td>Pointer to the XSecure_Sha instance</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS On success.</li>
<li>XST_FAILURE On KAT failure. </li>
</ul>
</dd></dl>

<p>References <a class="el" href="group__xsecure__generic__server__apis.html#ga7d9385d1d7121998a9be90e90d3a8f7b">XSecure_SetReset()</a>, <a class="el" href="group__xsecure__sha__example__apis.html#gad83e90d954ca31ac3d9cc687321cdb2d">XSECURE_SHAKE_256</a>, and <a class="el" href="group__xsecure__helper__server__apis.html#ga7af13060e1711b13d1d20bdbed3c20f5">XSECURE_SHAKE_256_HASH_LEN</a>.</p>

</div>
</div>
<a class="anchor" id="ga88d62049d752ebdaecef899fdf2dfa16"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XSecure_UpdateKatStatusIpiHandler </td>
          <td>(</td>
          <td class="paramtype">XPlmi_Cmd *&#160;</td>
          <td class="paramname"><em>Cmd</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function calls respective IPI handler based on the API_ID. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">Cmd</td><td>is pointer to the command structure</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS On Success</li>
<li>XST_INVALID_PARAM If any input parameter is invalid</li>
<li>XST_FAILURE On failure </li>
</ul>
</dd></dl>

<p>References <a class="el" href="group__xsecure__common__apis.html#ga2f4a1a99096821d10b0719a4ded431d5">XSECURE_API</a>, <a class="el" href="group__xsecure__common__apis.html#ggae9abbc75ac66f341f029869aac24c716a37dcb0a535752ca6093d594011f526a2">XSECURE_API_KAT_CLEAR</a>, <a class="el" href="group__xsecure__common__apis.html#ggae9abbc75ac66f341f029869aac24c716a09e955afa67abbd5ea150fc156ff442f">XSECURE_API_KAT_SET</a>, <a class="el" href="group__xsecure__common__apis.html#gga48921cbba3a5713caf7d975bedbe36acac08da78d39f6d01df82e295363a7dc51">XSECURE_API_UPDATE_CPM5N_KAT_STATUS</a>, <a class="el" href="group__xsecure__common__apis.html#gga48921cbba3a5713caf7d975bedbe36acac72b5b1939f0484d1a3848ffd7b97f7b">XSECURE_API_UPDATE_DDR_KAT_STATUS</a>, <a class="el" href="group__xsecure__common__apis.html#gga48921cbba3a5713caf7d975bedbe36aca44f09d5b48a831480a1cf114ccb1454c">XSECURE_API_UPDATE_HNIC_KAT_STATUS</a>, <a class="el" href="group__xsecure__common__apis.html#gga48921cbba3a5713caf7d975bedbe36aca9e649e1f6951aa5a6dd65c119eedf6ba">XSECURE_API_UPDATE_PCIDE_KAT_STATUS</a>, <a class="el" href="group__xsecure__common__apis.html#gga48921cbba3a5713caf7d975bedbe36aca2c3a03734f8768efe3c23fd7585e332d">XSECURE_API_UPDATE_PKI_KAT_STATUS</a>, <a class="el" href="group__xsecure__kat__server__apis.html#ga34597748760ae137fa56fae50de54489">XSECURE_DDR_KAT_MASK_MUL</a>, <a class="el" href="group__xsecure__kat__server__apis.html#gaca9dc1d0d77149e934d36dc1369c02a1">XSECURE_DDR_MAX_SUPPORT</a>, <a class="el" href="group__xsecure__kat__server__apis.html#ga18b6ea3b42f6a4f57a38f05638bbc341">XSECURE_DEF_KAT_MASK</a>, <a class="el" href="group__xsecure__common__apis.html#ga3e18c416422379b5ccb2d9975cffce2c">XSECURE_KAT_HDR_LEN</a>, <a class="el" href="group__xsecure__kat__server__apis.html#ga80e9681c00670510197c2079b9790de1">XSECURE_KAT_MAX_CMD_LEN</a>, <a class="el" href="group__xsecure__common__apis.html#ga0a43d350be21f46c201cbfbf96e31b81">XSECURE_MAX_KAT_MASK_LEN</a>, and <a class="el" href="group__xsecure__common__apis.html#ga693c54d224d1fa8ca68b215023b2b359">XSecure_Printf</a>.</p>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
	<p class="footer">&copy; Copyright 2015-2022 Xilinx, Inc. All Rights Reserved.</p>
	<p class="footer">&copy; Copyright 2022-2023 Advanced Micro Devices, Inc. All Rights Reserved.</p>
</div>
</body>
</html>
